我正在打印发票,其中包含从表单中的文本框收集的数据。它在我的计算机上工作得很完美,但我正在为我爸爸制作这个,当我发送给他时,文件路径不正确。我会告诉他保存文件的位置,我只需要为该位置设置相对文件路径。如果有人可以帮我创建一个通用位置的相对文件路径,那就太好了!这是我用来打印的代码:
Dim oWord As Word.Application
Dim oDoc As Word.Document
'Start Word and open the document template.
oWord = CreateObject("Word.Application")
oWord.Visible = True
oDoc = oWord.Documents.Add("C:\Users\Dave\OneDrive\Documents\visual studio 2015\Projects\Computer Repair\Computer Repair\bin\Debug\ComputerTemplate.dotx")
oDoc.Bookmarks.Item("Invoice").Range.Text = InvoiceID.Text
oDoc.Bookmarks.Item("Name").Range.Text = Namei.Text
oDoc.Bookmarks.Item("Date").Range.Text = Datext.Text
oDoc.Bookmarks.Item("Phone").Range.Text = Phone.Text
oDoc.Bookmarks.Item("Address").Range.Text = Address.Text
oDoc.Bookmarks.Item("City").Range.Text = City.Text
oDoc.Bookmarks.Item("Work").Range.Text = Work.Text
oDoc.Bookmarks.Item("Problem").Range.Text = Problem.Text
oDoc.Bookmarks.Item("Total").Range.Text = Total.Text
oDoc.Bookmarks.Item("Discount").Range.Text = Discount.Text
oDoc.Bookmarks.Item("Notes").Range.Text = Notes.Text
问题是你正在使用直接路径,当然,在另一台计算机上不存在。
正如@Jimi建议的那样,使用像Application.StartupPath
这样的东西。例:
Dim oDocFolder As String = Application.StartupPath
Dim oDocFile As String = "ComputerTemplate.dotx"
然后使用:
oDoc = oWord.Documents.Add(IO.Path.Combine(oDocFolder, oDocFile))
希望这可以帮助。