2

遅延バインディングを使用して MsWord オブジェクトを作成しているため、異なるバージョンの Word で問題を引き起こす参照を追加する必要がありません。

Set GetWordObject = CreateObject("Word.Application")

このため、VBA コンパイラは MsWord 定数を認識せず、次のように宣言しています。

Public Enum wdAutoFitBehaviour
    wdAutoFitContent = 1
    wdAutoFitFixed = 0
    wdAutoFitWindow = 2
End Enum

Public Enum wdSaveOptions
    wdDoNotSaveChanges = 0
    wdPromptToSaveChanges = -2
    wdSaveChanges = -1
End Enum

Public Enum WdParagraphAlignment
    wdAlignParagraphleft = 0
    wdAlignParagraphCenter = 1
    wdAlignParagraphRight = 2
End Enum

Public Enum WdTableDirection
    wdTableDirectionRtl = 0
    wdTableDirectionLtr = 1
End Enum

Public Enum WdGoToItem
    wdGoToTable = 2
End Enum

Public Enum WdGoToDirection
    wdGoToNext = 2
    wdGoToPrevious = 3
End Enum

Public Enum WdUnits
    wdParagraph = 4
    wdCell = 12
End Enum

Public Enum WdDocumentViewDirection
    wdDocumentViewLtr = 1
    wdDocumentViewRtl = 0
End Enum

私の問題は、次のような MsWord メソッドを使用する必要がある場合ですCentimetersToPoints

With objWordApp.ActiveDocument.PageSetup
    .TopMargin = CentimetersToPoints(0.5)
    .BottomMargin = CentimetersToPoints(0.5)
    .LeftMargin = CentimetersToPoints(0.5)
    .RightMargin = CentimetersToPoints(0.5)
    .PageWidth = CentimetersToPoints(6.5)
    .PageHeight = CentimetersToPoints(11)
End With

コンパイラがフラグを立てないように、メソッドを宣言するにはどうすればよいですか?

4

1 に答える 1