如何使用 VBA Excel 在另一个书签后创建一个书签?
How do I create a Bookmark after another Bookmark using VBA Excel?
我在 Excel 中有一个 vba 代码可以计算一些计算。之后,我想将我获得的一些计算结果写入 Word 文档。在这个 Word 文档中有一个项目符号列表,如下所示:
- XXXXX
其中 XXXXX 有一个名为“ENTERPRISE”的书签。我想要一个代码,在使用 Excel 打开 Word 文档后,它会在列表中创建更多项目符号点,因为它取决于 Excel 计算的企业数量。
例如Excel表示有3家企业。因此,列表应如下所示:
- XXXXX
- XXXXX
- XXXXX
其中每个 XXXXX 也有不同的书签,我会在上面写上每个企业的名称。
我暂时有以下代码:
Dim wrdApp As Object, wrdDoc As Object
Dim strPath As String
strPath = "C:\Users\xxxx.docx"
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open(Filename:=strPath)
wrdDoc.Bookmarks("ENTERPRISE").Range.Text = "Enterprise 1"
wrdDoc.Bookmarks.Item("ENTERPRISE").Range.InsertParagraphAfter 'It inserts a new bullet point but without bookmark
感谢您的回答,如果您有任何问题,请随时问我!
例如:
wrdDoc.Bookmarks("企业").Range.Text = "企业 1" & vbCr & "企业 2" & vbCr
对于循环,您可以使用类似的东西:
Dim i As Long, r As Long, StrOut As String
For i = 1 To n
With ActiveSheet.Range("A" & r)
If .Value <> "" Then StrOut = StrOut & vbCr & .Value
End With
StrOut = Left(StrOut, Len(StrOut) - 1)
Next
wrdDoc.Bookmarks("ENTERPRISE").Range.Text = StrOut
我在 Excel 中有一个 vba 代码可以计算一些计算。之后,我想将我获得的一些计算结果写入 Word 文档。在这个 Word 文档中有一个项目符号列表,如下所示:
- XXXXX
其中 XXXXX 有一个名为“ENTERPRISE”的书签。我想要一个代码,在使用 Excel 打开 Word 文档后,它会在列表中创建更多项目符号点,因为它取决于 Excel 计算的企业数量。
例如Excel表示有3家企业。因此,列表应如下所示:
- XXXXX
- XXXXX
- XXXXX
其中每个 XXXXX 也有不同的书签,我会在上面写上每个企业的名称。
我暂时有以下代码:
Dim wrdApp As Object, wrdDoc As Object
Dim strPath As String
strPath = "C:\Users\xxxx.docx"
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
Set wrdDoc = wrdApp.Documents.Open(Filename:=strPath)
wrdDoc.Bookmarks("ENTERPRISE").Range.Text = "Enterprise 1"
wrdDoc.Bookmarks.Item("ENTERPRISE").Range.InsertParagraphAfter 'It inserts a new bullet point but without bookmark
感谢您的回答,如果您有任何问题,请随时问我!
例如: wrdDoc.Bookmarks("企业").Range.Text = "企业 1" & vbCr & "企业 2" & vbCr
对于循环,您可以使用类似的东西:
Dim i As Long, r As Long, StrOut As String
For i = 1 To n
With ActiveSheet.Range("A" & r)
If .Value <> "" Then StrOut = StrOut & vbCr & .Value
End With
StrOut = Left(StrOut, Len(StrOut) - 1)
Next
wrdDoc.Bookmarks("ENTERPRISE").Range.Text = StrOut