0
我有一個工作表,它將一堆文件下載到單元中用戶指定的位置。我想要做的是爲這個單元添加驗證,這樣當它被點擊時,文件選擇窗口打開,並且用戶可以指定所需的位置。這甚至有可能嗎?我知道它可以通過一個按鈕觸發的宏來完成,但我真的很喜歡它的工作方式更像其他類型的驗證,比如下拉菜單。提示用戶在Excel中選擇單元格中的文件路徑
任何指向正確的方向將非常讚賞...非計算機類型有更多的麻煩打字無誤的路徑比你可能相信。
我有一個工作表,它將一堆文件下載到單元中用戶指定的位置。我想要做的是爲這個單元添加驗證,這樣當它被點擊時,文件選擇窗口打開,並且用戶可以指定所需的位置。這甚至有可能嗎?我知道它可以通過一個按鈕觸發的宏來完成,但我真的很喜歡它的工作方式更像其他類型的驗證,比如下拉菜單。提示用戶在Excel中選擇單元格中的文件路徑
任何指向正確的方向將非常讚賞...非計算機類型有更多的麻煩打字無誤的路徑比你可能相信。
將其粘貼在Workbook對象中。或者,如果它是特定工作表,則將其粘貼在工作表對象中,並將事件更改爲相關的工作表一 - 這將節省幾個CPU週期,因爲它只會觸發相關工作表上的事件。
Public SelectedPath As String
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim desiredCell As Range
Set desiredCell = Worksheets("Sheet1").Cells(1, 1) 'whatever
If Target.Address(external:=True) = desiredCell.Address(external:=True) Then
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.ButtonName = "Select destination"
.Title = "Select destination folder"
.Show
If .SelectedItems.Count > 0 Then
SelectedPath = .SelectedItems(1)
Target.Value = SelectedPath
End If
End With
'do some more stuff or let your other code access the SelectedPath field
End If
End Sub
查看Worksheet_SelectionChange事件和Application.GetOpenFileName方法 – tigeravatar