Я использую приведенный ниже код, чтобы вставить номер из .txt-файла, «сохранить-как» файл слова, используя этот номер в качестве имени, а затем завершить слияние.Почему я не могу сохранить файл в определенном месте?
Код работал нормально до тех пор, пока мне не пришлось переключать компьютеры, поэтому менялось расположение файлов ... Я, очевидно, изменил местоположения так же, как и на новом компьютере.
Теперь номер вставлен в нужное место, затем открывается диалоговое окно сохранения, но оно не помещается в нужное место и не вставляет указанный номер.
Он пытается не сохранить его здесь, независимо от того, что я изменить путь к файлу будет: C: \ Users \ Schlechter Ag жидкость \ OneDrive \ BOLTemplate \
Sub CommandButton1_Click()
Invoice = System.PrivateProfileString("C:\Users\Schlechter Ag Liquid\OneDrive\BOLTemplate\" & _
"invoice-number.txt", "InvoiceNumber", "Invoice")
If Invoice = "" Then
Invoice = 1
Else
Invoice = Invoice + 1
End If
System.PrivateProfileString("C:\Users\Schlechter Ag Liquid\OneDrive\BOLTemplate\" & _
"invoice-number.txt", "InvoiceNumber", "Invoice") = Invoice
' Insert the number in the document
ActiveDocument.Bookmarks("Invoicenan").Range.InsertBefore Format(Invoice, "")
ActiveDocument.SaveAs FileName:= _
"C:\Users\Schlechter Ag Liquid\OneDrive\BOLs\" & Format(Invoice, "") & ".docx"
ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
ActiveDocument.MailMerge.OpenDataSource Name:= _
"C:\Users\Schlechter Ag Liquid\OneDrive\BOLTemplate\Customer Database.accdb" _
, ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
Format:=wdOpenFormatAuto, Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=C:\Users\Schlechter Ag Liquid\OneDrive\BOLTemplate\Customer Database.accdb;Mode=Read;Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=6;Jet OLE" _
, SQLStatement:="SELECT * FROM `report1 (1)`", SQLStatement1:="", SubType _
:=wdMergeSubTypeAccess
ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
WordBasic.MailMergeFindEntry
End Sub
Это говорит о том, что ошибка в этом но я не могу понять, что с ним не так.
ActiveDocument.SaveAs FileName:= _
"C:\Users\Schlechter Ag Liquid\OneDrive\BOLs\" & Format(Invoice, "") & ".docx"
Любая помощь была бы принята с благодарностью.
Вы можете вручную сохранить в этом месте из Слова? – DeanOC
Вы говорите, что «... не помещает его в нужное место ...» - он сохраняет его где угодно? если да, то какой полный путь? Правильный синтаксис сохранения. –
У вас были пробелы в файле? Я не уверен, что VBA правильно управляет пробелами. Возможно, вы могли бы попробовать '' "" C: \ Users \ Schlechter Ag Liquid \ OneDrive \ BOLs \ "& Format (Invoice," ") &" .docx "" "'? –