为Word模板创建相对文件路径

时间:2019-04-06 21:35:55

标签: vb.net

我正在打印一张从表单中的文本框中收集的数据的发票。它可以在我的计算机上完美运行,但是我正在为父亲做这件事,当我将其发送给他时,文件路径不正确。我会告诉他将文件保存在哪里,我只需要在该位置有一个相对的文件路径即可。如果有人可以帮助我创建一个指向公共位置的相对文件路径,那就太好了! 这是我用来打印的代码:

 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

1 个答案:

答案 0 :(得分:0)

问题是您使用的是直接路径,当然,该路径在另一台计算机上不存在。

按照@Jimi的建议,使用类似Application.StartupPath的名称。示例:

    Dim oDocFolder As String = Application.StartupPath
    Dim oDocFile As String = "ComputerTemplate.dotx"

然后使用:

oDoc = oWord.Documents.Add(IO.Path.Combine(oDocFolder, oDocFile))

希望这会有所帮助。