powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / VBA Excel в Access
33 сообщений из 33, показаны все 2 страниц
VBA Excel в Access
    #39815695
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Установлен Office 2016. Есть база access, которая открывает ссылку ie, логинится на ресурсе, запускает макрос в excel, который выгружает с ресурса некоторые данные. Возможен ли перенос макроса excel в access, чтобы всё сразу писалось в таблицу в базе, не используя excel?
Как в vba access прописать закрытие окон ie после отработки?
Сюда могу выложить только фото кода, так как база на работе, политика безопасности, интернета нема.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815701
MrShin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вообще VBA код будет работать на Акцессе, нужно будет только поменять части, которые непосредственно работают с Экелем. Часть, которая работает с интернетом должна работать без изменений.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815709
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grekerСюда могу выложить только фото кода, так как база на работе, политика безопасности, интернета нема.скопируй в Блокнот текст.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815712
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или экспорт из IDE в текстовые файлы *.cls или *.bas

Или USB тоже блокированы?
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815725
MrShinНу вообще VBA код будет работать на Акцессе, нужно будет только поменять части, которые непосредственно работают с Экелем. Часть, которая работает с интернетом должна работать без изменений. Добавлю, что в макросе excel вы, видимо, вносите значения в ячейки одной строки, потом следующей и т.д.
В Аксе вместо этого хозяйства нужно открыть Recordset на таблице-получателе и добавлять записи туда.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815781
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
USB тоже заблокированы, пишу с мобильного))
К сожалению, я не очень силён, мягко говоря, в vba, просто досталось в "наследство" и накинули задачу в нагрузку)
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815783
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто копирование уже пробовал на дурака, не работает))
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815786
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В excel есть таблица с кодами на отдельном листе, оттуда берётся значение, вставляется в окно ie, нажимается кнопка, появляющиеся данные выгружаются в excel на другой лист. И так по всем кодам
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815828
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grekerВозможен ли перенос макроса excel в access, чтобы всё сразу писалось в таблицу в базе, не используя excel?После подключения референсной библиотеки экселёвый макрос переносится в Access практически без изменений, если он написан правильно. Нужно только добавить код открытия книги и получить на неё референс.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815841
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaПосле подключения референсной библиотеки
Ему надо без экселя сразу в акс писать из ie, но исходники он не кажет, а пытается про них рассказать в повествовательной форме...
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815855
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubuchaЕму надо без экселя сразу в акс писать из ie
А вот тут уже действительно без кода никуда.
Хотя как по мне - посмотреть, что там в экселе наворочано, да написать с нуля. Всяко быстрее, чем чужую лапшу отлаживать. Хотя если алгоритм прозрачен. то забрать как есть. VBA - он везде VBA.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815904
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вложил архив с кодами, получилось примерно как левой пяткой нос почесать
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815909
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grekerUSB тоже заблокированы, пишу с мобильного))навеяло...
Пишу на броне горящего танка... ©
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815912
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

Практически)))
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815925
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да всего-то там и делов, что всякие ThisWorkbook.Worksheets(X).Cells(Y, Z) поменять на переменные, да нарисовать код вставки в таблицы по мере формирования данных для новой записи.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815982
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Это на каком языке сейчас ругательство прозвучало?)))
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39815997
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Я просто к тому, что в vba я, мягко говоря, не силён)) по образу и подобию пытался что-то состряпать, но не получается ((
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816146
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сможет кто помочь с этой задачкой?))
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816157
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что значит помочь? Взять и переписать код так чтобы он работал так как вам надо? Здесь точно много кто это сможет.... Но захочет ли.... делать это просто так....> а просто помочь - это вам самому надо начать разбираться в том что этот код делает по шагам....
Вот например этот кусок кода что-то берет из excell и вставляет в explorer.
Код: vbnet
1.
2.
oWin1.Document.getElementsByTagName("input").Item(3).innertext = ThisWorkbook.Worksheets(1).Cells(i, 1)
oWin1.Document.getElementsByTagName("input").Item(6).Click 


Что он именно берет, для чего вставляет ? Наверное я мог бы сам разобраться в этом вопросе - но вот если честно, мне лень.
Итак отвечаете на этот вопрос- определяем нужно ли это в Аксе и если нужно, подсказываем как сделать.
Потом идем дальше по коду.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816206
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker, а вы примечания то читали? раскомментируйте этот блок - будут закрываться все окна
Код: vbnet
1.
2.
3.
4.
5.
6.
'Этот блок кода должен закрыть браузер с неактивной ссылкой link - закрывает активные окна подряд
For Each oWin In oShApp.Windows
    If InStr(oWin.LocationURL, link) = 0 Then
       oWin.Quit
   End If
Next


или вот это: причина создания файлов именно в эксель
Код: vbnet
1.
' этот код сохраняет созданный файл в архиве, т.е. их создается очень много, ну и 


вот здесь они создаются в другой директории
Код: vbnet
1.
2.
3.
4.
5.
ActiveWorkbook.Save
    ChDir "папка, куда сохраняется файл с данными"
    ActiveWorkbook.SaveAs Filename:= _
        "путь для сохранения" & Date & "_МБ.xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False


спорное название папки... и пути - это точно рабочий код?
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816238
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311,

Этот блок берёт значение из excel, вставляет его в поле в ie, нажимает кнопку в ie для выгрузки данных, которые копируются в таблицу в excel
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816239
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,

Блок закрывает активное окно ie.
Пути папок в самом коде верные, рабочие, просто путь в сетевой перс очень длинный, я его заменил немного.

Сам код рабочий, вопрос в адаптации его под vba access вместо excel
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816254
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311,

Насчёт просто так тоже обсуждаемо)
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816263
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grekerSerg197311,

Этот блок берёт значение из excel,
Ну да, ну да....КАКОЕ ЗНАЧЕНИЕ???
и откуда его взять, если не использовать excell?
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816266
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grekerSerg197311,

Насчёт просто так тоже обсуждаемо)
Не, это не ко мне....
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816338
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311,

Числовой код из 10 цифр.
Возможно ли сделать так, чтобы это значение бралось из соответствующей таблицы в access?
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816343
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311,

И сохранял выгружаемые данные тоже в access, только в другой таблице
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816395
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker, всё можно.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816410
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grekerSerg197311,

Числовой код из 10 цифр.
Возможно ли сделать так, чтобы это значение бралось из соответствующей таблицы в access?
Как сказал Панург - возможно все.... Ну или почти все.
Думаю - здесь найдется тот кто за соотв вознаграждение решит потратить свое время на решение Вашей проблемы....
Если Вы не знаете как взять значение из ячейки таблицы и как его туда записать, то я так полагаю Вам не стоит пытаться решать эту задачу самому.....
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816486
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grekerЧисловой код из 10 цифр.
Возможно ли сделать так, чтобы это значение бралось из соответствующей таблицы в access?
..........
И сохранял выгружаемые данные тоже в access, только в другой таблице
Если таблица Tab2 уже есть, то так:
Код: sql
1.
INSERT INTO Tab2 SELECT Код FROM Tab1


Если же таблица Tab2 не существует, то она будет создана так:
Код: sql
1.
SELECT Код INTO Tab2 FROM Tab1
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816562
grekerВ excel есть таблица с кодами на отдельном листе, оттуда берётся значение, вставляется в окно ie, нажимается кнопка, появляющиеся данные выгружаются в excel на другой лист. И так по всем кодам Таблица с кодами импортируется в Акс. В процедуре на ней открывается Recordset. Значения из него считываются и вставляются в окно ie и т.д.
А вот насчет "данные выгружаются в excel на другой лист" надо понять, как это происходит. Если данные по очереди берутся из полей ie и вставляются в ячейки Ёкселя, то это я советовал више. Если это экспорт целой таблицы из ie и в Ёксель, то опишите, как это происходит и, желательно, покажите этот кусок кода.
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816726
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
__Michelle,

Спасибо, попробую)
...
Рейтинг: 0 / 0
VBA Excel в Access
    #39816817
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кривцов Анатолий,

Как именно сделан процесс выгрузки из ie - не могу сказать(((
Если не ошибаюсь, блок выгрузки в vba excel:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
For RW = 2 To 50000
On Error Resume Next
If oWin1.Document.getElementsByTagName("td").Item(RW).innertext = ThisWorkbook.Worksheets(1).Cells(i, 2) Then
ThisWorkbook.Worksheets(2).Cells(j, 1) = oWin1.Document.getElementsByTagName("td").Item(RW).innertext
ThisWorkbook.Worksheets(2).Cells(j, 2) = oWin1.Document.getElementsByTagName("td").Item(RW + 1).innertext
ThisWorkbook.Worksheets(2).Cells(j, 3) = oWin1.Document.getElementsByTagName("td").Item(RW + 2).innertext
ThisWorkbook.Worksheets(2).Cells(j, 4) = oWin1.Document.getElementsByTagName("td").Item(RW + 3).innertext
ThisWorkbook.Worksheets(2).Cells(j, 5) = oWin1.Document.getElementsByTagName("td").Item(RW + 4).innertext
ThisWorkbook.Worksheets(2).Cells(j, 6) = oWin1.Document.getElementsByTagName("td").Item(RW + 5).innertext
ThisWorkbook.Worksheets(2).Cells(j, 7) = oWin1.Document.getElementsByTagName("td").Item(RW + 6).innertext
ThisWorkbook.Worksheets(2).Cells(j, 8) = oWin1.Document.getElementsByTagName("td").Item(RW + 7).innertext
ThisWorkbook.Worksheets(2).Cells(j, 9) = oWin1.Document.getElementsByTagName("td").Item(RW + 8).innertext
ThisWorkbook.Worksheets(2).Cells(j, 10) = oWin1.Document.getElementsByTagName("td").Item(RW + 9).innertext
RW = RW + 9
If ThisWorkbook.Worksheets(2).Cells(j, 1) <> "" Then
    j = j + 1
        If j Mod 20000 = 0 Then
           ActiveWorkbook.Save
        End If
Else
    Exit For
End If
End If
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / VBA Excel в Access
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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