Word VBA – 使用定义的名称从excel插入数据

我有一个Excel工作表中的一些数据。 工作表中的每个单元格都有一个定义的名称。

我也有一个书签定义的文字文件。 每个书签与Excel中的单元格具有相同的名称。

我有我的VBA代码。 现在,我正在尝试1.转到Word 2中的每个书签。转到excel并转到具有相同定义名称的单元格。3.将单元格中的数据插入单词中的书签位置。

这是我有:

Dim wb As Excel.Workbook Dim excelPath As String Dim numBM As Integer Dim countBM As Integer Dim currentBM As String numBM = ActiveDocument.Bookmarks.Count excelPath = getFilePath() 'separate function to get the location of the excel file Set wb = Excel.Workbooks.Open(excelPath) For countBM = 1 To numBM currentBM = ActiveDocument.Bookmarks(countBM).Name ActiveDocument.Bookmarks(currentBM).Range.Text = wb.???????? Next 

我可以得到这个工作,如果我使用:

 ActiveDocument.Bookmarks(currentBM).Range.Text = wb.Worksheets("Sheet1").Range(currentBM) 

但我不想引用工作表。 我只想引用这个单元格。

我知道必须有一个简单的解决scheme!

确实有一个简单的解决scheme。 如果您已命名单元格,则可以访问Excel Application对象中的“ Names集合。 例如,如果您想要检索Excel中特定命名单元格的范围(或者您的情况下的值),则可以执行以下操作:

 Excel.Names("RangeName").RefersToRange.Value 

我不想引用工作表

那么,你将不得不。 只要马上做,你只需要参考一次:

 Dim ws As Excel.Worksheet '... Set ws = Excel.Workbooks.Open(excelPath).Sheets(1) ActiveDocument.Bookmarks(currentBM).Range.Text = ws.Range(currentBM) 

而鲍勃是你的叔叔。