То, что я хочу сделать, это:Открыть Excel из Слова с помощью FileDialog
- Нажмите кнопку в моем документ Microsoft Word, он подскажет мне, чтобы выбрать документ в файловом проводнике.
- Выберите мой документ соответствующие поля в моем слове doc будут заполнены.
- Это будет заполнено на основе информации в документе (месяце) и с использованием функции
Match
, оно будет искать правильную строку/столбец в выбранном документе excel и вернуть значение.
Я застрял на участке FileDialog(msoFileDialogFilePicker)
моего кода ниже.
Для целей моего документа я не могу войти в прямой путь к файлу, путь к файлу необходимо взять из функции FileDialog
(или что-то подобное).
Я также пробовал GetOpenFilename
. Я не уверен, как это сделать. Мой код в настоящее время открывает FileDialog и позволяет мне выбрать файл, но я не могу передать путь к файлу на моей строке colNum1.
Ошибка, которую я получаю, это Ошибка времени выполнения '91'. Переменная объекта или С заблокированной переменной.
Я открыт для предложений, и любая помощь очень ценится.
Sub KPI_Button()
'
' KPI_Button Macro
Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook
Dim strFile As String
Dim Doc As String
Dim Res As Integer
Dim dlgSaveAs As FileDialog
Doc = ThisDocument.Name
Set dlgSaveAs = Application.FileDialog(msoFileDialogFilePicker)
Res = dlgSaveAs.Show
colNum1 = WorksheetFunction.Match("(Month)", ActiveWorkbook.Sheets("Sheet1").Range("A2:I2"), 0)
ThisDocument.hoursworkedMonth.Caption = exWb.Sheets("Sheet1").Cells(3, colNum1)
exWb.Close
Set exWb = Nothing
End Sub
Я ввел это, но вместо того, чтобы физически показывая путь на экране мне нужно пройти путь к файлу для таблицы на последние два раздела моего кода выше: 'colNum1 = WorksheetFunction.Match ("(за месяц)", ActiveWorkbook.Sheets ("Лист1") Диапазон (. "A2: I2"), 0) ThisDocument.hoursworkedMonth .Caption = exWb.Sheets ("Sheet1"). Ячейки (3, colNum1) ' – Krumblebee
@Krumblebee эта строка дает вам полный путь '.SelectedItems (1)', который вы можете применить к своей функции. – brettdj
Я хочу открыть файл, указанный при использовании функции FIleDialog. Мне не нужно видеть путь к файлу, а затем разрешить мне вводить его в мой код. Я хочу, чтобы путь к файлу был передан в строку кода в моем VBA. Все, что мне нужно сделать, это открыть мой выбранный файл, используя функцию диалога с файлом, а затем операции, которые у меня есть, могут выполняться в выбранном файле. Выбранный файл всегда будет отличаться, поэтому путь к файлу всегда будет меняться, поэтому я не могу войти в путь файла каждый раз. Надеюсь, я понял, что я пытаюсь сделать. Спасибо за помощь до сих пор. – Krumblebee