2017-09-01 9 views
1

Excel UserForm1テキストボックスにヘッダーブックマークを取得するには、VBAコードが必要です。私を助けてください。私はページ数を得ているが、これを得ることはできない。私が試したコードは以下の通りですが、動作しません。WordヘッダーのエクスポートExcel UserForm1にブックマークTextbox

私は時のエラーを取得:

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

wst.txtstatementof.Text = "MyBookmark" 

事前に感謝を。

サブExportBookmarksToExcel()WBK実際の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 

答えて

0

としてExcel.Worksheet 薄暗いXとしてExcel.Workbook 薄暗いWSTとして、あなたがwerenまずExcel.Application 点心としてブックマーク 薄暗いappXlとして 薄暗いBK成功から遠い。もちろん、このは失敗しなければなりません: -

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 
+0

実際に私がしようとしているのは、WordのブックマークをExcel UserFormのテキストボックスに入れることです。 –

+0

実際に私がしようとしているのは、Wordブックマークを上記のコードのExcel Userform Textboxに入れることです。 "txtstatementof"は、Excel UserFormのテキストボックス名です。 "MyBookmark"は、Wordヘッダー部分のブックマークです。 –

+0

UserformはExcelでもWordでもありません。それはVBAです。ですから、まずテキストボックスを使ってフォームを作成する必要があります。次に、それを開いたり閉じたりするためのコードを書いて、ブックマークのテキストをテキストボックスに入れることができます。あなたはそのような場合にExcelが必要ないと思われます。 – Variatus

関連する問題