在Access中创建一个按钮以打开word文档

时间:2016-11-30 03:29:57

标签: ms-access ms-word

我有一个word文档,它使用邮件合并功能并从访问数据库中获取其信息。当我使用此代码时,它不会打开包含当前信息的word文档。它会打开包含最后保存信息的word文档。

如果我自己打开word文档,从任务栏中询问我是否要运行SQL,然后单击yes并且一切正常运行。我想从访问中单击一个按钮来完成同样的任务来打开合同。

以下是我使用的代码:

Private Sub Command205_Click()

Dim LWordDoc As String
Dim oApp As Object

'Path to the word document
LWordDoc = "C:\Users\.....k Up\01- Proposal\contract.docx"

If Dir(LWordDoc) = "" Then
  MsgBox "Document not found."

Else
  'Create an instance of MS Word
  Set oApp = CreateObject(Class:="Word.Application")
  oApp.Visible = True

  'Open the Document
  oApp.Documents.Open FileName:=LWordDoc
End If

End Sub

***我应该补充一点,我不是编码员,对VBA一无所知,我从这个网站上复制了这个,所以你能提供的任何帮助都将不胜感激。如果你能为我提供编码或足够的指导,让我在路上会很棒。谢谢

1 个答案:

答案 0 :(得分:2)

此代码将在Access中运行以打开邮件合并文档并更新内容并保存。

使用我最初发布的链接(http://www.minnesotaithub.com/2015/11/automatic-mail-merge-with-vba-and-access/),我做了一些修改,并且能够使代码生效。

我需要添加:ReadOnly:= True,_以防止共享冲突 然后我更改了源数据的表名。

请注意!您需要更改标有“###”的索引,如下所示:

### - 1更改以指定模板的完整路径!!!

### - 2更改SQLSTATEMENT以指定您的记录源!!!

将此代码粘贴到表单中,确保您有一个命令按钮单击执行的事件(在此代码中重命名为“Command205”,或更改您的控件名称)。

Revive.find({})
      .populate( 'author' )
      .exec( function( error, docs ) {
          console.log( docs ); // will have `[{author:{profile:{...}}}]` data
      } );