vb.net - 为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
解决方案
问题是您使用的是直接路径,当然,另一台计算机上不存在该路径。
正如@Jimi 建议的那样,使用类似Application.StartupPath
. 例子:
Dim oDocFolder As String = Application.StartupPath
Dim oDocFile As String = "ComputerTemplate.dotx"
然后使用:
oDoc = oWord.Documents.Add(IO.Path.Combine(oDocFolder, oDocFile))
希望这可以帮助。
推荐阅读
- java - XML 应该使用哪种 java 数据结构?
- json - 是否可以使用 nginx 合并两个 json 响应?
- r - 对来自观察数据的三个治疗组样本在 R 中执行匹配抽样
- python - 如何遍历单词列表并用单词替换某些字母
- php - 为我的 Web 应用程序寻找最佳服务器设置解决方案
- node.js - 节点 uri 正则表达式未捕获捕获组
- kubernetes - Splunk Universal Forwarder 作为 kubernetes 中的 sidecar
- python - 关于 h2o 中随机森林概率校准的问题
- cassandra - Cassandra - 获取特定时间范围内的所有数据
- statsmodels - ARIMA 模型:plot_diagnostics 共享错误