首页 > 解决方案 > 为word模板创建相对文件路径

问题描述

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

 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

标签: vb.net

解决方案


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

正如@Jimi 建议的那样,使用类似Application.StartupPath. 例子:

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

然后使用:

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

希望这可以帮助。


推荐阅读