【问题标题】:Export Word header Bookmark to Excel UserForm1 Textbox将 Word 标题书签导出到 Excel UserForm1 文本框
【发布时间】:2018-02-10 12:19:33
【问题描述】:

我需要 VBA 代码来获取 Excel UserForm1 文本框中的标题书签。请帮助我。我有页数,但无法得到这个。我已将代码放在下面,我已经尝试过,但它不起作用。

我收到错误:

Set wbk = ObjExcel.Workbooks.Open("C:\Users\Desktop\Test-2.xlsm")

wst.txtstatementof.Text = "MyBookmark"

提前致谢。

Sub ExportBookmarksToExcel() 将 bk 调暗为书签 Dim appXl As Excel.Application 将 wbk 调暗为 Excel.Workbook 暗淡为 Excel.Worksheet Dim x As UserForm1

Set appXl = CreateObject("Excel.Application")
Set wbk = ObjExcel.Workbooks.Open("C:\Users\Desktop\Test-2.xlsm")
With appXl
    .Visible = True
    Set wbk = .Workbooks.Add
    Set wst = wbk.UserForm1
     wst.txtstatementof.Text = "MyBookmark"
  End With

'For each bk In ActiveDocument.Bookmarks
    'lRow = lRow + 1
 '   wst.x.UserForm1.txtstatementof.Text = bk.Name
    'wst.Cells(lRow, 2) = bk.Range.Text
'Next bk
'wst.UsedRange.Columns.AutoFit

 End Sub

【问题讨论】:

    标签: vba ms-word


    【解决方案1】:

    实际上,您离成功不远了。当然,这必须失败:-

    Set appXl = CreateObject("Excel.Application")
    Set wbk = ObjExcel.Workbooks.Open("C:\Users\Desktop\Test-2.xlsm")
    

    您可以看到您的 Excel 应用程序名为 appXl。因此无法回复ObjExcel.Workbooks.Open

    下面是有效的代码。

    Sub ExportBookmarksToExcel()
    
        ' MS Word variables:
        Dim Bk As Bookmark
        Dim R As Long
    
        ' MS Excel variables:
        Dim appXl As Excel.Application
        Dim Wbk As Excel.Workbook
        Dim Wst As Excel.Worksheet
    
        Set appXl = CreateObject("Excel.Application")
        With appXl
            .Visible = True
    '        Set Wbk = .Workbooks.Open("C:\Users\Desktop\Test-2.xlsm")
            Set Wbk = .Workbooks.Add
            Set Wst = Wbk.Worksheets(1)
    '        Wst.txtstatementof.Text = "MyBookmark"     ' what is "txtstatementof" ?
        End With
    
        R = 2                                           ' keep Row 1 for captions
        For Each Bk In ActiveDocument.Bookmarks
            Wst.Cells(R, 1) = Bk.Name
            Wst.Cells(R, 2) = Bk.Range.Text
            R = R + 1
        Next Bk
        Wst.UsedRange.Columns.AutoFit
    
     End Sub
    

    【讨论】:

    • 其实我想要做的是将 Word 书签放入 Excel UserForm 文本框。
    • 其实我想要做的是使用上面的代码将 Word 书签放入 Excel Userform 文本框。 “txtstatementof”是 Excel 用户窗体中的文本框名称。 “MyBookmark”是Word Header部分的书签。
    • 用户窗体既不是 Excel 也不是 Word。它是VBA。因此,您首先需要创建表单,其中包含一个文本框。然后您可以编写代码来打开和关闭它,并将书签中的文本放入其文本框中。在这种情况下,您似乎不需要 Excel。
    • 抱歉不清楚。我会详细解释。
    • 感谢您回复 Variatus。我提到的上述代码仅适用于 VBA。 Word Header Bookmark 已经创建,它是一个封闭的书签。 Excel 用户窗体中的文本框也被创建。我是 VBA 的新手,我无法解决代码中的问题是将 Word Header Bookmark 导出到 Excel UserForm 文本框。当我在 Word 中单击快速访问工具栏上的(图标)时,书签应导出到 Excel 用户窗体文本框。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多