我想在Access2010中編程一個按鈕,該按鈕允許用戶打開一個與在表單上的文本框中輸入相同名稱的pdf文件。這個想法是,測試人員將在測試編號字段中輸入測試編號,這是一個文本框,然後最終用戶可以點擊一個按鈕來打開該pdf文件。我試圖命名一個未綁定的文本框,然後將其設置爲字符串變量,但是當我進入代碼時,我無法讀取任何內容。 pdf文件位於T:\ Lab \ PHOTO1 \中,然後有子文件夾編號爲32 33 34..etc。當數字開始到下一組,如35000,然後一個新的文件夾,35編程一個按鈕來打開位於子文件夾中的PDF
Public Sub PDF1()
Dim fso As New FileSystemObject
Dim strTestno As String
Dim strPath As String
Dim fldbaseFolder As Folder
Dim fldSubFolder As Folder
Dim frmForm1 As Form
'Set frmForm1 = [Form_Test Request Form]
'set strTestno to value in text box
strTestno = [Form_Test Request Form].Test_Number_Combo1
'set your path
strPath = "C:\Users\usb14322\Desktop\TEMP\"
DirFile = strPath & strTestno & ".pdf"
'Get a referemce to the Folder object
Set fldbaseFolder = fso.GetFolder(strPath)
'Iterate through subfolders.
For Each fldSubFolder In fldbaseFolder.SubFolders
If strTestno = "" Then
MsgBox "File does not exist"
Else
Application.FollowHyperlink "fldSubFolder" & "strTestno" & ".pdf"
'Len(Dir(DirFile & strTestno).open
'Debug.Print strTestno
End If
Next
End Sub
我編輯了我的問題,以便它將顯示上面的代碼在我的問題下。我遇到的第一個問題之一是當我進入代碼時,我無法讓我的字符串變量讀取組合框中的內容,或者即使將其設置爲文本框。 – ktacks
我假設你的意思是'strTextno = TestNumberCombo1'這一行沒有任何迴應?在'TestNumberCombo1'之前添加一個debug.print,看看有什麼價值。我剛剛用ComboBox進行了測試,並且綁定和未綁定的文本框都得到了值。另外,正如HansUp所建議的那樣,我會轉換到FSO –
感謝您的幫助。我的組合框使用了錯誤的名稱。我更新了我的代碼,並且可以通過子文件夾查看代碼。我現在的問題是,如果找到文件,那麼我需要打開文件。我沒有看到如何做到這一點。如果有任何建議,我將不勝感激。 – ktacks