В настоящее время я использую макрос для добавления возрастающего номера документа в нижний колонтитул документа.Проблема в том, что он использует глобальный файл «settings.txt».
Я хочу применить этот макрос ко многим документам, и у каждого из них есть своя собственная запись возрастающего числа.
Я не являюсьПрофи для написания VBA / Macro, поэтому мне нужны довольно четкие инструкции или копируемый и вставляемый код.
Sub SerialNumber()
'
' SerialNumber Macro
'
'
Dim Message As String, Title As String, Default As String, NumCopies As Long
Dim Rng1 As Range
' Set prompt.
Message = "Enter the number of copies that you want to print"
' Set title.
Title = "Print"
' Set default.
Default = "1"
' Display message, title, and default value.
Dim SerialNumber As String
NumCopies = Val(InputBox(Message, Title, Default))
SerialNumber = System.PrivateProfileString("W:\settings.txt", _
"MacroSettings", "SerialNumber")
If SerialNumber = "" Then
SerialNumber = 1
End If
Set Rng1 = ActiveDocument.Bookmarks("SerialNumber").Range
Counter = 0
While Counter < NumCopies
Rng1.Delete
Rng1.Text = SerialNumber
ActiveDocument.PrintOut
SerialNumber = SerialNumber + 1
Counter = Counter + 1
Wend
'Save the next number back to the Settings.txt file ready for the next use.
System.PrivateProfileString("W:\settings.txt", "MacroSettings", _
"SerialNumber") = SerialNumber
'Recreate the bookmark ready for the next use.
With ActiveDocument.Bookmarks
.Add Name:="SerialNumber", Range:=Rng1
End With
End Sub
Вопрос:
- Как я могу преобразовать это, чтобы использовать документназовите его как файл «settings.txt»
Как я могу преобразовать это, чтобы автоматически сохранить файл «settings.txt» в том же месте, где находится документ.(Я не уверен на 100%, но я думаю, что мне нужно создать setting.txt вручную, я хотел бы, чтобы создание было автоматическим)
Если я поступаю неправильноКстати, пожалуйста, дайте мне знать
Мой мыслительный процесс будет:
If "document_name.txt" exists then do run macro
If "settings/document_name.txt" DOESN'T exists then do create document_name.txt in current open files location
and use current document name.
Примечание: я также открыл щедрость на этот вопрос, чтобы макрос запускался автоматически послепользователь нажимает на печать как обычно.В настоящее время они должны вручную запускать макрос для печати.
Запуск макроса перед печатью текстового документа