あるくびーる

ビールは余り好きじゃないです。

ExcelVBAからWordを呼ぶ方法

皆さんVBAは好きですか?僕は嫌いです。 Excelで開くときれいに情報が取れないpdfをWordで開いたら良い感じになったので、VBAからWordを開いてExcelにコピペする、みたいな感じのコードを書きました。

Dim i As Long
Dim wdApp As Word.Application
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = False
wdApp.DisplayAlerts = False
Application.DisplayAlerts = False
Dim wdDoc As Word.Document
Application.ScreenUpdating = False


For i = N_1 To N_2
    Set wdDoc = wdApp.Documents.Open(ThisWorkbook.Path & "\hogehoge" & ".pdf")
    wdDoc.Application.ActiveDocument.StoryRanges(wdMainTextStory).Select
    wdDoc.Application.Selection.Copy
    ThisWorkbook.Worksheets.Add After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = i
    ActiveSheet.Range("A1").Select
    ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
        False, NoHTMLFormatting:=True
    wdApp.Documents(1).Close
Next i

Set wdApp = Nothing
wdApp.Visible = True
Application.DisplayAlerts = True
Application.ScreenUpdating = True

このコードの問題点はWordのDisplayAlerts = Falseが動かなくてポップアップが出ると毎度消さないといけないというところです。何か良い方法があったら教えて下さい