powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите, адаптировать код из VBA Excel в VBA Access
25 сообщений из 126, страница 3 из 6
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114024
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene-LS
Вот вам ещё примерчик ...

Что-то с ходу не ушло ... Повторил

...
Библиотечки ложить в папку где приложение ...
Подхватывает.
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114025
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
Это практика...


мля...
Код: vbnet
1.
#If Win64 Then


Естественно... какой нахрен #If VBA7

Панург, я тебя понимаю...
Лучшие программисты среди паяльников...
Лучшие паяльники среди программистов...
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114029
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,
Не прокатит надо именно знать какой офис, у мня что на работе что дома винда 64 а офисы 32
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114043
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005
vmag,
Не прокатит надо именно знать какой офис, у мня что на работе что дома винда 64 а офисы 32
не прокатит это когда не читают
https://docs.microsoft.com/ru-ru/office/vba/language/concepts/getting-started/64-bit-visual-basic-for-applications-overview Условная константа компиляции Win64 применяется, чтобы определить, какая версия (32-разрядная или 64-разрядная) Office функционирует на компьютере.
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114045
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS

Библиотечки ложить класть в папку где приложение ...
Подхватывает.

как вариант...
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
Option Compare Database
Option Explicit

#If VBA7 Then
    Private Declare PtrSafe Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As LongPtr
    Private Declare PtrSafe Function FreeLibrary Lib "kernel32" (ByVal hLibModule As LongPtr) As Long
    Private Declare PtrSafe Function GetProcAddress Lib "kernel32" (ByVal hModule As LongPtr, ByVal lpProcName As String) As LongPtr
    Private Declare PtrSafe Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As LongPtr, ByVal hWnd As LongPtr, ByVal Msg As Long, ByVal wParam As LongPtr, ByVal lParam As LongPtr) As LongPtr
#Else
    Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
    Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
    Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
    Private Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Any, ByVal wParam As Any, ByVal lParam As Any) As Long
#End If

#If Win64 Then
    Private Const LIBRARY_NAME$ = "quricol64.dll"
#Else
    Private Const LIBRARY_NAME$ = "quricol32.dll"
#End If
                
Private Sub cmdIncetrQRCod_Click()
#If VBA7 Then
Dim hLibrary As LongPtr, ProcAddress As LongPtr
Dim retValue As LongPtr
#Else
Dim hLibrary As Long, ProcAddress As Long
Dim retValue As Long
#End If

    If Len(Nz(Me.txtQRCodTexт, vbNullString)) = 0 Then Exit Sub

hLibrary = LoadLibrary(CurrentProject.Path & "\" & LIBRARY_NAME)

ProcAddress = GetProcAddress(hLibrary, "GenerateBMPToClipboardW")
    If ProcAddress = 0 Then
        MsgBox "Oooppss!"
    Else
        retValue = CallWindowProc(ProcAddress, StrPtr(Me.txtQRCodTexт), ByVal 3&, ByVal 5&, ByVal 0&)
        Me.objQRCod.Action = acOLEPaste
    End If
FreeLibrary hLibrary
End Sub

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

Лихо!
Красиво!

Поначалу, и я пошел по пути "LoadLibrary" ...
Случайно наткнулся на "буржуинский" пример с "SetEnvironmentVariable" ... потестил ...
И принял "на вооружение" :)
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114052
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene-LS
Библиотечки ложить класть в папку где приложение ..

... :)
Что может лежать - то ЛОЖИТЬ (положить)
Что может складываться - то КЛАСТЬ (покласть)
... файл может "лежать" в папке приложения ...
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114053
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
Панург
как вариант...

Лихо!
Красиво!
можно упростить (не пользуюсь я всем этим, да и VBA практически не пользуюсь)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
Option Compare Database
Option Explicit

#If VBA7 Then
    Private Declare PtrSafe Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As LongPtr
    Private Declare PtrSafe Function FreeLibrary Lib "kernel32" (ByVal hLibModule As LongPtr) As Long
#Else
    Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
    Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
#End If

#If Win64 Then
    Private Const LIBRARY_NAME$ = "quricol64.dll"
    
    Private Declare PtrSafe Sub GenerateBMPToClipboard _
        Lib "quricol64.dll" _
        Alias "GenerateBMPToClipboardW" ( _
        ByVal Text As String, _
        ByVal Margin As Long, _
        ByVal Size As Long, _
        ByVal Level As Long)
#Else
    Private Const LIBRARY_NAME$ = "quricol32.dll"
    
    Private Declare Sub GenerateBMPToClipboard _
        Lib "quricol32.dll" _
        Alias "GenerateBMPToClipboardW" ( _
        ByVal Text As String, _
        ByVal Margin As Long, _
        ByVal Size As Long, _
        ByVal Level As Long)
#End If
          
Private Sub cmdIncetrQRCod_Click()
#If VBA7 Then
Dim hLibrary As LongPtr
#Else
Dim hLibrary As Long
#End If

    If Len(Nz(Me.txtQRCodTexт, vbNullString)) = 0 Then Me.objQRCod.Value = Null: Exit Sub

hLibrary = LoadLibrary(CurrentProject.Path & "\" & LIBRARY_NAME)
    If hLibrary = 0 Then
        MsgBox "Oooppss!"
    Else
        GenerateBMPToClipboard StrConv(Me.txtQRCodTexт, vbUnicode), 3, 5, 0&
        Me.objQRCod.Action = acOLEPaste
    End If
FreeLibrary hLibrary
End Sub

...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114054
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
Eugene-LS
Библиотечки ложить класть в папку где приложение ..

... :)
Что может лежать - то ЛОЖИТЬ (положить)
Что может складываться - то КЛАСТЬ (покласть)
... файл может "лежать" в папке приложения ...
и тем не менее...
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114068
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
и тем не менее...

НА Столе:
- Воробей - Сидит
- Стакан - Стоит
- Ложка - Лежит (не "покладена")

В ящике:
- Воробей - Лежит (дохлый)
- Стакан - Лежит
- Ложка - Лежит (не "покладена")

Я в ящик КЛАДУ воробья, стакан и ложку, пусть там ЛЕЖАТ ...
...
И не пудрите мне мозг пожалуйста! :)
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114081
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS, Ложить – просторечие. В русском литературном языке есть только глагол класть.
Верно: класть, но положить.
Eugene-LS
Я в ящик КЛАДУ
я указал тоже самое
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114086
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
Eugene-LS, Ложить – просторечие.

Или устоявшееся норма ...

Говорят и пишут:
"уЛОЖИТЬ ребёнка спать" но не "уКласть ..."

Не доводите придуманные немцами и датчанами (в 18-м веке) правила "русского" языка до абсурда ....
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114110
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
Говорят и пишут:
"уЛОЖИТЬ ребёнка спать" но не "уКласть ..."
т.е. не видишь разницы между "уложить" и "ложить"?
мда...
на этом, думаю, тема исчерпана.
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114167
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
на этом, думаю, тема исчерпана.

Очень на это надеюсь! ... :)
...
Великий и могучий Русский язык./Joke.TV]https://www.youtube.com/watch?v=UYG92CxlhVg
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114176
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS,

Народ...
- когда вставляете ссылку, то её нужно вставлять после url=... а не пихать в url текст...
- текст нужно вставлять между скобками ] тут текст
- так нужно делать для всего, кроме ютуба ибо для ютуба так иногда может не сработать
Для ютуба:
- Набрать текст, нажать Enter
- Вставить ссылку из буфера как есть и нажать Enter
- Отправить сообщение
Потренироваться всегда можно в ветке Test и не только по этому поводу...
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114177
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Великий и могучий Русский язык./Joke.TV

YouTube Video
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114189
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
Для ютуба:
есть специальный тэг
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114210
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

Лет 5 назад кто-то из модераторов сообщил, что sql адаптировали под ютуб типа голая ссылка + enter, так мне больше ничего и не нужно...
Стек уже переполнен, всунешь в башку новую хрень, с другой стороны выпадет кака я то функция...
наверно уже и выпала с твоей подачи, пока не знаю какая...
:)
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114227
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
...Стек уже переполнен, всунешь в башку новую хрень, с другой стороны выпадет кака я то функция...
это очередь - FIFO
Пробочку?
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114233
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обращение в продолжении темы облагораживания квитанции
Есть код:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Кн_ПечатьPDF_Click()
Dim stDocName As String, path
On Error GoTo Err_
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70 'Не знаю, что делает эта команда
    stCriteria = [Код] & "_" & [ФИО]
    DoCmd.OpenForm "Ф_QR_Платёжка", acViewPreview, , stCriteria 'Вывод в отчет закомментарен
    path = CurrentProject.path & "КвитанцииPDF\" & stCriteria & ".pdf"   'Путь к папке размещения
    ExportFormToPDF path & stCriteria & ".pdf"           'Выполнить экспорт в пдф
    DoCmd.OutputTo acOutputForm, acFormatPDF, path  ' acFormatPDF   "Ф_QR_Платёжка"
Exit_:
    Exit Sub
Err_:
    MsgBox Err.Description
    Resume Exit_
End Sub



Вроде взял рабочий вариант, а опять одни проблемы (походу просто с аргументами)
Ругается на "ExportFormToPDF"
И ещё один момент, если папка КвитанцииPDF не существует, при первом создании файла она создастся???
Подредактируйте пожалуйста, я уже закипаю-((
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114237
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И второй момент.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Public Function OfficeBitness()
    Dim Excel
    Set Excel = CreateObject("Excel.Application")
    Excel.Visible = False
    If InStr(Excel.OperatingSystem, "64") > 0 Then
        OfficeBitness = 64
    Else
        OfficeBitness = 32
    End If
    Excel.Quit
    Set Excel = Nothing
End Function



Проверяет какая битность Екселя, всё работает, проверил, а такая же хрень для Акцесса есть?
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114240
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005
...Проверяет какая битность Екселя...
Зачем?
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114242
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quote Eugene-LS#22399680]
Панург
на этом, думаю, тема исчерпана.

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

так я и прошу адаптировать под Акцесс, а то Ваш код ППц объёмный
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114245
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005
Панург,

так я и прошу адаптировать под Акцесс, а то Ваш код ППц объёмный
ты не пробовал всё же почитать? хотя бы по ссылке.
...
Рейтинг: 0 / 0
25 сообщений из 126, страница 3 из 6
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите, адаптировать код из VBA Excel в VBA Access
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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