我正在尝试同时更新多个 Word 文档中的页脚。
页脚中应输入三项内容:城市和州、商店编号和日期。
我正在努力:
提示用户打开多个Word文档
显示一个用户窗体,提示用户在文本框中输入数据。
将信息放入文档的页脚中。
我的代码将执行所有这些操作,但使用三个连续的输入框来输入数据。
Sub openAllfilesInALocation()
Dim Doc
Dim i As Integer
Dim varCity
Dim varStoreNumber
Dim varDate
Dim docToOpen As FileDialog
Set docToOpen = Application.FileDialog(msoFileDialogFilePicker)
docToOpen.Show
varCity = InputBox("City")
varStoreNumber = InputBox("Store Number")
varDate = InputBox("Document Date")
For i = 1 To docToOpen.SelectedItems.Count
'Open each document
Set Doc = Documents.Open(FileName:=docToOpen.SelectedItems(i))
With ActiveDocument.Sections(1)
.Footers(wdHeaderFooterPrimary).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
.Footers(wdHeaderFooterPrimary).Range.Text = varCity & " " & varStoreNumber & " " & varDate
End With
Doc.Save
Doc.Close
Next i
End Sub
如果我创建一个包含三个文本框(一个用于城市和州,一个用于商店编号,一个用于日期)以及一个提交按钮和取消按钮的用户表单,我需要做什么来引用用户表单并获取数据从文本框中输入并将其输入到页脚中?
假设用户窗体的名称为 Userform1,文本框的名称为 TextBox1、TextBox2、TextBox3。提交按钮的名称为 CommandButton1,取消按钮的名称为 CommandButton2。
如果单击取消,脚注将被删除。如果您不想要它,请删除 CommandButton2_Click 子项中分配的 3 行。
检查日期是否有效并应用本地格式。
模块
Public varCity 'make avail for the userform
Public varStoreNumber
Public varDate
Sub openAllfilesInALocation()
Dim Doc
Dim i As Integer
Dim docToOpen As FileDialog
Set docToOpen = Application.FileDialog(msoFileDialogFilePicker)
docToOpen.Show
UserForm1.Show
'varCity = InputBox("City")
'varStoreNumber = InputBox("Store Number")
'varDate = InputBox("Document Date")
For i = 1 To docToOpen.SelectedItems.Count
'Open each document
Set Doc = Documents.Open(FileName:=docToOpen.SelectedItems(i))
With ActiveDocument.Sections(1)
.Footers(wdHeaderFooterPrimary).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
.Footers(wdHeaderFooterPrimary).Range.Text = varCity & " " & varStoreNumber & " " & varDate
End With
Doc.Save
Doc.Close
Next i
End Sub
用户表单代码模块
Private Sub CommandButton1_Click()
varCity = UserForm1.TextBox1
varStoreNumber = UserForm1.TextBox2
varDate = UserForm1.TextBox3
On Error Resume Next
If IsError(CDate(varDate)) Then
UserForm1.TextBox3.SetFocus
Else
varDate = CDate(varDate)
VBA.Unload UserForm1
End If
On Error GoTo 0
End Sub
Private Sub CommandButton2_Click()
Me.hide
varCity = ""
varStoreNumber = ""
varDate = ""
End Sub
建议添加 3 个标签来识别文本框。