将 VB.NET 代码转换为 VBScript

发布于 2024-07-25 11:10:09 字数 1454 浏览 6 评论 0原文

我有一段 VB.NET 代码,我想将其转换为 VBScript。 它基本上启动 Microsoft Word,显示“打开”对话框,并通过邮件合并所选文档。 任何帮助将不胜感激。

Dim oMissing As Object = System.Reflection.Missing.Value
Dim oEndOfDoc As Object = "\\endofdoc"
Dim oFalse As Object = False


'Start Word and create a new document.
Dim oWord As Word._Application
Dim oDoc As Word._Document

oWord = New Word.Application()
oWord.Visible = True

'show box
Dim dlg As Word.Dialog = oWord.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As System.Type = GetType(Word.Dialog)

' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", Reflection.BindingFlags.SetProperty Or  Reflection.BindingFlags.Public Or Reflection.BindingFlags.Instance, Nothing, dlg, New Object() {"C:\Documents and Settings\My Documents\MailMerge\"}, System.Globalization.CultureInfo.InvariantCulture)

Dim timeOut As Object = 0
Dim a As Int16 = dlg.Show(timeOut)

'if a document has been opened.
If (a = -1) Then

    oDoc = oWord.ActiveDocument
    oDoc.Select()
    oDoc.MailMerge.OpenDataSource("C:\\usr\\mergequery.txt", oMissing, oMissing,  oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing)

    oDoc.MailMerge.Destination = Word.WdMailMergeDestination.wdSendToNewDocument
    oDoc.MailMerge.Execute(oFalse)

    'Close the original form document.
    oDoc.Saved = True
    oDoc.Close(oFalse, oMissing, oMissing)
End If

I have this snippet of VB.NET code that I want to convert to VBScript. It basically starts Microsoft Word, displays the Open dialog and mail merges the selected document. Any help will be highly appreciated.

Dim oMissing As Object = System.Reflection.Missing.Value
Dim oEndOfDoc As Object = "\\endofdoc"
Dim oFalse As Object = False


'Start Word and create a new document.
Dim oWord As Word._Application
Dim oDoc As Word._Document

oWord = New Word.Application()
oWord.Visible = True

'show box
Dim dlg As Word.Dialog = oWord.Dialogs(Word.WdWordDialog.wdDialogFileOpen)
Dim dlgType As System.Type = GetType(Word.Dialog)

' Set the Name property of the dialog box.
dlgType.InvokeMember("Name", Reflection.BindingFlags.SetProperty Or  Reflection.BindingFlags.Public Or Reflection.BindingFlags.Instance, Nothing, dlg, New Object() {"C:\Documents and Settings\My Documents\MailMerge\"}, System.Globalization.CultureInfo.InvariantCulture)

Dim timeOut As Object = 0
Dim a As Int16 = dlg.Show(timeOut)

'if a document has been opened.
If (a = -1) Then

    oDoc = oWord.ActiveDocument
    oDoc.Select()
    oDoc.MailMerge.OpenDataSource("C:\\usr\\mergequery.txt", oMissing, oMissing,  oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing)

    oDoc.MailMerge.Destination = Word.WdMailMergeDestination.wdSendToNewDocument
    oDoc.MailMerge.Execute(oFalse)

    'Close the original form document.
    oDoc.Saved = True
    oDoc.Close(oFalse, oMissing, oMissing)
End If

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

假装爱人 2024-08-01 11:10:10

干得好。

Option Explicit

Dim wdDialogFileOpen, wdSendToNewDocument
wdDialogFileOpen = 80
wdSendToNewDocument = 0

Dim oEndOfDoc 
oEndOfDoc = "\\endofdoc"

Dim oWord, oDoc
Set oWord = CreateObject("Word.Application")
oWord.Visible = True

Dim dlg
Set dlg = oWord.Dialogs(wdDialogFileOpen)

dlg.Name = "C:\Documents and Settings\My Documents\MailMerge\"

Dim a
a = dlg.Show(0)

'if a document has been opened.
If (a = -1) Then
    Set oDoc = oWord.ActiveDocument
    oDoc.Select
    oDoc.MailMerge.OpenDataSource "C:\usr\mergequery.txt"

    oDoc.MailMerge.Destination = wdSendToNewDocument
    oDoc.MailMerge.Execute False

    'Close the original form document.
    oDoc.Saved = True
    oDoc.Close False
End If

Here you go.

Option Explicit

Dim wdDialogFileOpen, wdSendToNewDocument
wdDialogFileOpen = 80
wdSendToNewDocument = 0

Dim oEndOfDoc 
oEndOfDoc = "\\endofdoc"

Dim oWord, oDoc
Set oWord = CreateObject("Word.Application")
oWord.Visible = True

Dim dlg
Set dlg = oWord.Dialogs(wdDialogFileOpen)

dlg.Name = "C:\Documents and Settings\My Documents\MailMerge\"

Dim a
a = dlg.Show(0)

'if a document has been opened.
If (a = -1) Then
    Set oDoc = oWord.ActiveDocument
    oDoc.Select
    oDoc.MailMerge.OpenDataSource "C:\usr\mergequery.txt"

    oDoc.MailMerge.Destination = wdSendToNewDocument
    oDoc.MailMerge.Execute False

    'Close the original form document.
    oDoc.Saved = True
    oDoc.Close False
End If
迎风吟唱 2024-08-01 11:10:10

这将在 VBscript 中打开文档:

Set wd = CreateObject("Word.Application")
Set obdoc = wd.Documents.Open("c:\test.doc")

This is will open the doc in VBscript:

Set wd = CreateObject("Word.Application")
Set obdoc = wd.Documents.Open("c:\test.doc")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文