用VB实现打开word并载入指定文档
摘要:用VB打开word并载入指定文档这个想法,最初是我在baidu知道上回答问题时遇到的,经过近一个小时的实践成功,将收获整理留给自己看。
关键词:VB word
文档
0引言
一个网友在知道上悬赏这个功能,抱着试试看的态度,我做了这个程序。帮到别人的同时,自己也收获了新知。方法应该不止一种,权当抛砖引玉了。
1我的思路
我最先想到的是shell函数。但经过查询msdn我发现该函数的参数无法满足要求,于是便转向了更可行的批处理。
用VB擅长的字符串处理功能,将读入的通用对话框文件名分割成数组,最后写出特定格式的批处理文件1.bat并调用shell函数执行,即可完成上述功能。
2程序代码
Option Explicit
Option Base 0
Private strTar() As String
Public strTmp$
Private Sub
Command1_Click()
Form1.CommonDialog1.FileName = ""
Form1.CommonDialog1.ShowOpen
If Form1.CommonDialog1.FileName = "" Then Exit Sub
Call WritePath(Form1.CommonDialog1.FileName & "_",
strTar)
Open App.Path & "\1.bat" For Output As #1
Dim i%
strTmp = ""
For i = 1 To UBound(strTar)
If i = 1 Or i = UBound(strTar) Then
Print
#1, strTar(i)
Else
Print #1, "cd " & strTar(i)
End If
Next i
Close #1
Shell App.Path & "\1.bat"
'Kill App.Path & "\1.bat"
End Sub
Public Function WritePath(ByVal
fileNameTar$, ByRef strArrTar() As String) '写文件路径函数
Dim i%: strTmp = ""
For i = 1 To Len(fileNameTar)
If Mid(fileNameTar, i, 1) = "\" Or Mid(fileNameTar, i, 1) = "_"
Then
ReDim Preserve strArrTar(UBound(strArrTar) + 1)
strArrTar(UBound(strArrTar)) = strTmp
strTmp = ""
Else
strTmp = strTmp + Mid(fileNameTar, i, 1)
End If
Next i
End Function
Private Sub Form_Load()
ReDim strTar(0)
End Sub
3参考文献
[1]百度知道上回答问题的经历
加载中,请稍候......