powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / импорт из Excel
17 сообщений из 17, страница 1 из 1
импорт из Excel
    #32271850
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, пожалуйста, как все-таки иметь возможность выбора (подстановки) имени нужного в данный момент файла Excel при выполнении преобразования таблицы (transferSpreadSheet), которое выполняется Макросом (кнопкой в форме).
Спасибо!
...
Рейтинг: 0 / 0
импорт из Excel
    #32271867
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, MyTableInDB, MyFileExcel
...
Рейтинг: 0 / 0
импорт из Excel
    #32271897
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
Но, имеется в виду, что нужно менять(выбирать) имя файла Excel в процессе выполнения импорта, а не вводить его навсегда один раз. Т.е. имя файла должно быть выбираемым. А вот как это сделать?
DoCmd.TransferSpreadsheet acImport, 8, "ExelTable", FileName, True, ""
А этот FileName выбирается в каком-то диалоговом окне (например, стандартном окне "Файл" или "Импорт") и дальше продолжается выполнение DoCmd.TransferSpreadsheet acImport уже относительно выбранного файла.
Не знаю, как этого добиться.
...
Рейтинг: 0 / 0
импорт из Excel
    #32271912
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни хрена не понял. Хочешь два импорта - делай, но тогда будут две команды TransferSpreadSheet с разными именами файлов...
...
Рейтинг: 0 / 0
импорт из Excel
    #32271924
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример вызова диал. окна:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Function Dial()
  Dim loComm As cDialog
  Dim strFilter As String
  Set loComm = New cDialog
  strFilter =  "Access Databases (*.md?)|*.md?|All Files(*.*)|*.*" 
  With loComm
    .Filter = strFilter
    .Title =  "Open File" 
    .ModeOpen = True
    .Action
    MsgBox .FileName
  End With
End Function


FileName вставляеш в свою строку импорта.
...
Рейтинг: 0 / 0
импорт из Excel
    #32271928
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zz,

В том то и дело, что нужна одна команда и возможность выбора имени файла.
...
Рейтинг: 0 / 0
импорт из Excel
    #32271933
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда юзай вариант, предложенный RVI.
...
Рейтинг: 0 / 0
импорт из Excel
    #32271934
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RVI,
мысль понял, спасибо. вот только выдается сообщение : User-defined type not defined.
Это на Dim loComm As cDialog
А почему?
...
Рейтинг: 0 / 0
импорт из Excel
    #32272018
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверь ссылку на Microsoft Office в Tools/References
...
Рейтинг: 0 / 0
импорт из Excel
    #32272030
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 RVI: а в самом деле, cDialog - что за кракозябра? FileDialog знаю, а эту зверушку - не...
...
Рейтинг: 0 / 0
импорт из Excel
    #32272041
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мляяяяя..... Мужики, простите за%нца. Не туда залез.
Понедельник....
Вот из Helpa^
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim dlgOpen As FileDialog

Set dlgOpen = Application.FileDialog( _
    FileDialogType:=msoFileDialogOpen)

With dlgOpen
    .AllowMultiSelect = True
    .Show
End With

...
Рейтинг: 0 / 0
импорт из Excel
    #32272052
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это еще лучше:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Function Select_File(Field As String)
Dim fd As FileDialog
Dim s
    
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    Dim vrtSelectedItem As Variant

    With fd
        If .Show = - 1  Then
            For Each vrtSelectedItem In .SelectedItems
                s = vrtSelectedItem
                msgbox s
            Next vrtSelectedItem
        End If
    End With
    Set fd = Nothing
End Function


Но это для Акеса 200_.
...
Рейтинг: 0 / 0
импорт из Excel
    #32272710
Antilag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Слух, RVI, a ты с Field гичего не напутал? А то кажется оно здесь нигде не используется...
...
Рейтинг: 0 / 0
импорт из Excel
    #32272733
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Antilag
Да, немного напутал, т.к. я вырезал эту часть из своей проги и
забыл поправить. Я думаю кому надо, тот разберется.
...
Рейтинг: 0 / 0
импорт из Excel
    #32272741
Фотография beseder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут новое сообщение кинул. см API и подстановка имени файла
И вопрос:
Так и не смог последовать примеру RVI -
нет у меня FileDialog
Ссылки на библиотеку MSOffice есть.
Где рыть?
...
Рейтинг: 0 / 0
импорт из Excel
    #32273447
zz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FilleDialog появился токмо в OfficeXP, раньше - не...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
импорт из Excel
    #32750083
Фотография Shurgenz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как экспортировать данные из конкретного листа? Допустим, я имя его знаю, как его написать в диапазоне?

И еще... можно ли экспортировать сразу несколько листов?

Если нельзя, то как получить имена всех листов в книге эксэля

в общем, куча вопросов

Используя TransferSpreadsheet я получаю данные только первого листа. А там их несколько
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / импорт из Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]