MS Access 2010 - 如何将输入文本框绑定到 VBA 命令以根据用户输入打开 MS Word 文件?
MS Access 2010 - How can I tie an entry text box to a VBA command that opens a MS Word file based on user's entry?
Option Compare Database
Function Openword(conPath As String)
Dim appword As Word.Application
Dim doc As Word.Document
On Error Resume Next
Error.Clear
Set appword = GetObject(, "word.application")
If Err.Number <> 0 Then
Set appword = New Word.Application
appword.Visible = True
End If
Set doc = appword.Documents.Open(conPath, , True)
appword.Activate
Set doc = Nothing
Set appword = Nothing
End Function
Private Sub Command5_Click()
Dim mydoc As String
mydoc = "J: - Client Services-Programs229709.docx"
Call Openword(mydoc)
End Sub
到目前为止,我已经编写了单击表单上的按钮时将打开特定文件的代码。但是,用户需要能够 select 并打开大量此类文件。为简单起见,我希望他们能够通过简单地输入文件名并单击将找到并打开它的按钮来打开 Word 文件。上面示例中的文件名只是 12229709.docx,但在同一位置还有其他类似的文件(例如 12172029、12124057...)。我希望有一个文本框,用户可以在其中输入数字,然后该按钮将检查该特定文件夹中是否有包含该数字的文件名(如果可能,不必添加“.docx”)。我该怎么做?
EDIT - 我忘了说我无法显示文件路径或使用文件对话框允许用户选择文件,因为用户将选择文件无权访问这部分网络。
试试这个
Dim MyValue as Variant
MyValue = Inputbox("Enter File Name")
Dim MyDoc as String
MyDoc = "J: - Client Services-Programs\" & MyValue & ".docx"
Call OpenWord(MyDoc)
不确定这是否是您要查找的内容,但希望对您有所帮助。
我不知道您为什么要让您的用户输入文件名,而您只需打开一个文件对话框并让他们单击正确的文件。
只需在您的表单上放置一个命令按钮,并包含一行 "Application.FollowHyperlink" 加上此函数名称。计算机文件协会可以处理剩下的事情。
Sub Command()
Application.FollowHyperlink FileName()
End Sub
Public Function FileName() As String
Dim f As Object
' Must have object reference set to a MS Office Object Library for this to work.
Set f = Application.FileDialog(msoFileDialogFilePicker)
With f
.AllowMultiSelect = False
If .Show = -1 Then
FileName = .SelectedItems(1)
End If
End With
FileName = Nz(FileName, "")
End Function
Option Compare Database
Function Openword(conPath As String)
Dim appword As Word.Application
Dim doc As Word.Document
On Error Resume Next
Error.Clear
Set appword = GetObject(, "word.application")
If Err.Number <> 0 Then
Set appword = New Word.Application
appword.Visible = True
End If
Set doc = appword.Documents.Open(conPath, , True)
appword.Activate
Set doc = Nothing
Set appword = Nothing
End Function
Private Sub Command5_Click()
Dim mydoc As String
mydoc = "J: - Client Services-Programs229709.docx"
Call Openword(mydoc)
End Sub
到目前为止,我已经编写了单击表单上的按钮时将打开特定文件的代码。但是,用户需要能够 select 并打开大量此类文件。为简单起见,我希望他们能够通过简单地输入文件名并单击将找到并打开它的按钮来打开 Word 文件。上面示例中的文件名只是 12229709.docx,但在同一位置还有其他类似的文件(例如 12172029、12124057...)。我希望有一个文本框,用户可以在其中输入数字,然后该按钮将检查该特定文件夹中是否有包含该数字的文件名(如果可能,不必添加“.docx”)。我该怎么做?
EDIT - 我忘了说我无法显示文件路径或使用文件对话框允许用户选择文件,因为用户将选择文件无权访问这部分网络。
试试这个
Dim MyValue as Variant
MyValue = Inputbox("Enter File Name")
Dim MyDoc as String
MyDoc = "J: - Client Services-Programs\" & MyValue & ".docx"
Call OpenWord(MyDoc)
不确定这是否是您要查找的内容,但希望对您有所帮助。
我不知道您为什么要让您的用户输入文件名,而您只需打开一个文件对话框并让他们单击正确的文件。 只需在您的表单上放置一个命令按钮,并包含一行 "Application.FollowHyperlink" 加上此函数名称。计算机文件协会可以处理剩下的事情。
Sub Command()
Application.FollowHyperlink FileName()
End Sub
Public Function FileName() As String
Dim f As Object
' Must have object reference set to a MS Office Object Library for this to work.
Set f = Application.FileDialog(msoFileDialogFilePicker)
With f
.AllowMultiSelect = False
If .Show = -1 Then
FileName = .SelectedItems(1)
End If
End With
FileName = Nz(FileName, "")
End Function