1 つの行で動作するように作成されたマクロがあります。代わりに、強調表示されているすべての行でこのマクロを実行したいと考えています。
選択した行間をループして、それぞれに対してマクロを実行する方法はありますか。
会社のポリシーにより、マクロ全体を表示することはできませんが、基本的には、Excel で値を 1 行で取得し、Word テンプレートに入力します。マクロの開始は次のとおりです。
Sub OpenForm()
With Selection
Dim pappWord As Object
Dim docWord As Object
Dim wb As Excel.Workbook
Dim TodayDate As String
Dim Path As String
Set wb = ActiveWorkbook
TodayDate = Format(Date, "mmmm d, yyyy")
Path = wb.Path & "\MAF Template.dot"
On Error GoTo ErrorHandler
'Create a new Word Session
Set pappWord = CreateObject("Word.Application")
On Error GoTo ErrorHandler
'Open document in word
Set docWord = pappWord.Documents.Add(Path)
'Blank for Qty
docWord.FormFields("Text38").Result = Range(ActiveCell.EntireRow.Address)(1, 2) 'Part of System (System ID)
....より多くのフィールドを入力し、次で終了します。
With pappWord
.Visible = True
.ActiveWindow.WindowState = 0
.Activate
End With
'Release the Word object to save memory and exit macro
ErrorExit:
Set pappWord = Nothing
Exit Sub
'Error Handling routine
ErrorHandler:
If Err Then
MsgBox "Error No: " & Err.Number & "; There is a problem"
If Not pappWord Is Nothing Then
pappWord.Quit False
End If
Resume ErrorExit
End If
End With
End Sub
したがって、すべての行に対してこれを実行するのではなく、単一の Excel 行に対して機能します。いくつかの行を選択し、それらすべてに対してマクロを実行したいと考えています。
ありがとう、