[英]Using Textbox as procedure(sub) input parameter
我的代碼有些麻煩。 如果您能幫助我解決我的問題,我會很高興。
這是我的工作表(名稱為SetSheet)的代碼部分; cmdSelProjectDir_Click()
是我的ActiveX命令按鈕,我嘗試選擇我的工作目錄。 SetSheet.txtSetWorkDir
是我的ActiveX文本框,將選定的目錄路徑寫入其中。 GetFolder(txtDir)
是我從“設置”模塊中調用的過程。
但是我沒有以正確的方式構建它會給出類似“ Type Mismatch”的錯誤。 但是我不知道如何將這種類型的結構應用於代碼,因為我還將在其他工作表上使用此GetFolder子過程。
'/SetSheet Page
Sub cmdSelProjectDir_Click()
Dim txtDir As TextBox
Set txtDir = SetSheet.txtSetWorkDir
Call Settings.GetFolder(txtDir)
End Sub
這是我的程序;
'/GetFolder procedure from Settings module.
Sub GetFolder(txtDir As TextBox)
Dim fdo As FileDialog
Dim sDir As String
Set fdo = Application.FileDialog(msoFileDialogFolderPicker)
With fdo
.Title = "Select a Directory"
.AllowMultiSelect = False
.InitialFileName = Application.DefaultFilePath
If .Show <> -1 Then GoTo NextCode
sDir = .SelectedItems(1)
txtDir.Value = sDir
Debug.Print txtDir.Value; sDir
End With
NextCode:
' GetFolder = sDir
Set fdo = Nothing
End Sub
您必須為ActiveX文本框使用MSForms.TextBox
而不是TextBox
:
Dim txtDir As MSForms.TextBox
和
Sub GetFolder(txtDir As MSForms.TextBox)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.