Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/прописать путь к файлу без открытия окна редактора VB - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » прописать путь к файлу без открытия окна редактора VB (Макросы/Sub)
прописать путь к файлу без открытия окна редактора VB
AB0885 Дата: Пятница, 12.08.2022, 18:00 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Применяю макрос
[vba]
Код
Sub вводсборлистов()
Dim myWord As New Word.Application, myDoc As Word.Document
Set myDoc = myWord.Documents.Open("D:\Users\User\Desktop\файл.docx")
Workbooks("этот файл.xlsm").Worksheets("КОПИЯ1").Range("A1").CurrentRegion.Copy
myDoc.Bookmarks("vot").Range.PasteExcelTable False, False, False
myWord.Visible = True
myWord.Visible = True
myDoc.Tables(1).AutoFitBehavior (wdAutoFitContent)
Set myWord = Nothing
Set myDoc = Nothing
End Sub
[/vba] для перевода из эксель в ворд. Флешку с файлами ношу с собой, при подключении к другому компьютеру приходится открывать и активировать вкладку "Разработчик" и постоянно прописывать путь (D:\Users\User\Desktop\файл.docx, путь скопировал для примера) к вордовскому файлу. Есть ли возможность прописывать путь не открывая окно редактора VB.
 
Ответить
СообщениеПрименяю макрос
[vba]
Код
Sub вводсборлистов()
Dim myWord As New Word.Application, myDoc As Word.Document
Set myDoc = myWord.Documents.Open("D:\Users\User\Desktop\файл.docx")
Workbooks("этот файл.xlsm").Worksheets("КОПИЯ1").Range("A1").CurrentRegion.Copy
myDoc.Bookmarks("vot").Range.PasteExcelTable False, False, False
myWord.Visible = True
myWord.Visible = True
myDoc.Tables(1).AutoFitBehavior (wdAutoFitContent)
Set myWord = Nothing
Set myDoc = Nothing
End Sub
[/vba] для перевода из эксель в ворд. Флешку с файлами ношу с собой, при подключении к другому компьютеру приходится открывать и активировать вкладку "Разработчик" и постоянно прописывать путь (D:\Users\User\Desktop\файл.docx, путь скопировал для примера) к вордовскому файлу. Есть ли возможность прописывать путь не открывая окно редактора VB.

Автор - AB0885
Дата добавления - 12.08.2022 в 18:00
Kuzmich Дата: Суббота, 13.08.2022, 11:21 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Включите в ваш макрос диалог выбора файла
[vba]
Код
Dim FD As FileDialog
Set FD = Application.FileDialog(msoFileDialogFilePicker)
[/vba]
и выбирайте нужный файл в диалоговом окне
 
Ответить
СообщениеВключите в ваш макрос диалог выбора файла
[vba]
Код
Dim FD As FileDialog
Set FD = Application.FileDialog(msoFileDialogFilePicker)
[/vba]
и выбирайте нужный файл в диалоговом окне

Автор - Kuzmich
Дата добавления - 13.08.2022 в 11:21
AB0885 Дата: Суббота, 13.08.2022, 19:05 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Kuzmich, ошибка object required
поставил вместо второй и третьей строки


Сообщение отредактировал AB0885 - Суббота, 13.08.2022, 19:07
 
Ответить
СообщениеKuzmich, ошибка object required
поставил вместо второй и третьей строки

Автор - AB0885
Дата добавления - 13.08.2022 в 19:05
AB0885 Дата: Воскресенье, 14.08.2022, 09:48 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

даже так попробовал [vba]
Код
Dim lngCount As Long

    ' Open the file dialog
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        .Show

        ' Display paths of each file selected
        For lngCount = 1 To .SelectedItems.Count
            MsgBox .SelectedItems(lngCount)
        Next lngCount

    End With
[/vba] та же ошибка. Чего-то не хватает.
 
Ответить
Сообщениедаже так попробовал [vba]
Код
Dim lngCount As Long

    ' Open the file dialog
    With Application.FileDialog(msoFileDialogOpen)
        .AllowMultiSelect = True
        .Show

        ' Display paths of each file selected
        For lngCount = 1 To .SelectedItems.Count
            MsgBox .SelectedItems(lngCount)
        Next lngCount

    End With
[/vba] та же ошибка. Чего-то не хватает.

Автор - AB0885
Дата добавления - 14.08.2022 в 09:48
Kuzmich Дата: Воскресенье, 14.08.2022, 11:05 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Цитата
Чего-то не хватает.

Диалог выбора файла позволяет вам только указать файл (.SelectedItems), после чего его нужно открыть командой Open
 
Ответить
Сообщение
Цитата
Чего-то не хватает.

Диалог выбора файла позволяет вам только указать файл (.SelectedItems), после чего его нужно открыть командой Open

Автор - Kuzmich
Дата добавления - 14.08.2022 в 11:05
AB0885 Дата: Воскресенье, 14.08.2022, 12:58 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Kuzmich, как его правильно открыть?
 
Ответить
СообщениеKuzmich, как его правильно открыть?

Автор - AB0885
Дата добавления - 14.08.2022 в 12:58
Kuzmich Дата: Воскресенье, 14.08.2022, 13:11 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
В MsgBox вы видите нужный вам файл?

Эта конструкция у вас работает?
[vba]
Код
Set myDoc = myWord.Documents.Open("D:\Users\User\Desktop\файл.docx")
[/vba]
Вместо этого пути "D:\Users\User\Desktop\файл.docx" подставляете, то что выбрали .SelectedItems(1) например
 
Ответить
СообщениеВ MsgBox вы видите нужный вам файл?

Эта конструкция у вас работает?
[vba]
Код
Set myDoc = myWord.Documents.Open("D:\Users\User\Desktop\файл.docx")
[/vba]
Вместо этого пути "D:\Users\User\Desktop\файл.docx" подставляете, то что выбрали .SelectedItems(1) например

Автор - Kuzmich
Дата добавления - 14.08.2022 в 13:11
AB0885 Дата: Понедельник, 15.08.2022, 08:38 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

вроде должно быть так [vba]
Код
Dim lngCount As Long
    With Application.FileDialog(msoFileDialogOpen)
        If .Show = 0 Then Exit Sub 'показывает диалог
        'цикл по коллекции выбранных в диалоге файлов
        For lf = 1 To .SelectedItems.Count
            x = .SelectedItems(lf) 'считываем полный путь к файлу
           Dim myWord As New Word.Application, myDoc As Word.Document
          Set myDoc = myWord.Documents
        Next
[/vba] но почему то ошибку 13 выдаёт
 
Ответить
Сообщениевроде должно быть так [vba]
Код
Dim lngCount As Long
    With Application.FileDialog(msoFileDialogOpen)
        If .Show = 0 Then Exit Sub 'показывает диалог
        'цикл по коллекции выбранных в диалоге файлов
        For lf = 1 To .SelectedItems.Count
            x = .SelectedItems(lf) 'считываем полный путь к файлу
           Dim myWord As New Word.Application, myDoc As Word.Document
          Set myDoc = myWord.Documents
        Next
[/vba] но почему то ошибку 13 выдаёт

Автор - AB0885
Дата добавления - 15.08.2022 в 08:38
Kuzmich Дата: Понедельник, 15.08.2022, 10:58 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Вы забыли открыть выбранный файл
[vba]
Код
Set myDoc = myWord.Documents.Open(x)
[/vba]
Посмотрите на какой строке останавливается макрос
 
Ответить
СообщениеВы забыли открыть выбранный файл
[vba]
Код
Set myDoc = myWord.Documents.Open(x)
[/vba]
Посмотрите на какой строке останавливается макрос

Автор - Kuzmich
Дата добавления - 15.08.2022 в 10:58
AB0885 Дата: Понедельник, 15.08.2022, 16:58 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Kuzmich, на вашей строке уходит в цикл. В диспетчере задач ворд появляется.
 
Ответить
СообщениеKuzmich, на вашей строке уходит в цикл. В диспетчере задач ворд появляется.

Автор - AB0885
Дата добавления - 15.08.2022 в 16:58
Kuzmich Дата: Понедельник, 15.08.2022, 18:31 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
AB0885, так вы выберите один файл в диалоговом окне и посмотрите открылся он или нет
 
Ответить
СообщениеAB0885, так вы выберите один файл в диалоговом окне и посмотрите открылся он или нет

Автор - Kuzmich
Дата добавления - 15.08.2022 в 18:31
AB0885 Дата: Понедельник, 15.08.2022, 19:34 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Kuzmich, я так и делаю. Да открывается нужный файл. Тогда получается в закладку в Ворд не отправляется таблица.
 
Ответить
СообщениеKuzmich, я так и делаю. Да открывается нужный файл. Тогда получается в закладку в Ворд не отправляется таблица.

Автор - AB0885
Дата добавления - 15.08.2022 в 19:34
Kuzmich Дата: Понедельник, 15.08.2022, 20:31 | Сообщение № 13
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Цитата
Тогда получается в закладку в Ворд

Закладка - Bookmarks
Где у вас в коде?
 
Ответить
Сообщение
Цитата
Тогда получается в закладку в Ворд

Закладка - Bookmarks
Где у вас в коде?

Автор - Kuzmich
Дата добавления - 15.08.2022 в 20:31
AB0885 Дата: Понедельник, 15.08.2022, 21:28 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Kuzmich, Sub [vba]
Код
Sub вводсборлистов()
Dim lngCount As Long
    With Application.FileDialog(msoFileDialogOpen)
        If .Show = 0 Then Exit Sub
               For lf = 1 To .SelectedItems.Count
            x = .SelectedItems(lf)
           Dim myWord As New Word.Application, myDoc As Word.Document
          Set myDoc = myWord.Documents.Open(x)

    Next

    End With
Workbooks("этот файл.xlsm").Worksheets("КОПИЯ1").Range("A1").CurrentRegion.Copy
myDoc.Bookmarks("vot").Range.PasteExcelTable False, False, False
myWord.Visible = True
myWord.Visible = True
myDoc.Tables(1).AutoFitBehavior (wdAutoFitContent)
Set myWord = Nothing
Set myDoc = Nothing
End Sub
[/vba]
сейчас такой макрос
 
Ответить
СообщениеKuzmich, Sub [vba]
Код
Sub вводсборлистов()
Dim lngCount As Long
    With Application.FileDialog(msoFileDialogOpen)
        If .Show = 0 Then Exit Sub
               For lf = 1 To .SelectedItems.Count
            x = .SelectedItems(lf)
           Dim myWord As New Word.Application, myDoc As Word.Document
          Set myDoc = myWord.Documents.Open(x)

    Next

    End With
Workbooks("этот файл.xlsm").Worksheets("КОПИЯ1").Range("A1").CurrentRegion.Copy
myDoc.Bookmarks("vot").Range.PasteExcelTable False, False, False
myWord.Visible = True
myWord.Visible = True
myDoc.Tables(1).AutoFitBehavior (wdAutoFitContent)
Set myWord = Nothing
Set myDoc = Nothing
End Sub
[/vba]
сейчас такой макрос

Автор - AB0885
Дата добавления - 15.08.2022 в 21:28
Pelena Дата: Среда, 17.08.2022, 08:04 | Сообщение № 15
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
AB0885, у меня ваш макрос работает.
Проверьте наличие нужных закладок.
Вы бы приложили файлы, где "не работает"


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеAB0885, у меня ваш макрос работает.
Проверьте наличие нужных закладок.
Вы бы приложили файлы, где "не работает"

Автор - Pelena
Дата добавления - 17.08.2022 в 08:04
_Boroda_ Дата: Среда, 17.08.2022, 09:06 | Сообщение № 16
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Продолжение в ветке Фриланс
http://www.excelworld.ru/forum/6-50387-1


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПродолжение в ветке Фриланс
http://www.excelworld.ru/forum/6-50387-1

Автор - _Boroda_
Дата добавления - 17.08.2022 в 09:06
AB0885 Дата: Среда, 17.08.2022, 13:16 | Сообщение № 17
Группа: Пользователи
Ранг: Участник
Сообщений: 60
Репутация: 0 ±
Замечаний: 20% ±

Pelena, вот спасибо, заработало. У меня уже было такое один раз, так же составляли макрос, у меня не работает, а у специалиста работает, долго "бились" запустить макрос. По итогу я взял свой рабочий документ переслал на другой компьютер и у меня заработало. СПАСИБО. Макрос работает.
P.S. Подскажите, что надо делать, чтобы избавиться от таких случаев.


Сообщение отредактировал AB0885 - Среда, 17.08.2022, 13:22
 
Ответить
СообщениеPelena, вот спасибо, заработало. У меня уже было такое один раз, так же составляли макрос, у меня не работает, а у специалиста работает, долго "бились" запустить макрос. По итогу я взял свой рабочий документ переслал на другой компьютер и у меня заработало. СПАСИБО. Макрос работает.
P.S. Подскажите, что надо делать, чтобы избавиться от таких случаев.

Автор - AB0885
Дата добавления - 17.08.2022 в 13:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » прописать путь к файлу без открытия окна редактора VB (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!