powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите, адаптировать код из VBA Excel в VBA Access
25 сообщений из 126, страница 2 из 6
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113604
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
упрости
Код: vbnet
1.
GenerateBMPToClipboard "Hello world!", 3, 5, 0&

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

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

Ругается на оба варианта
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113626
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene-LS, Панург
Не знаю, что я сделал, просто тупо перенёс ещё раз, и всё заработало-))))
Пример Eugene-LS рабочий на всё 100 % для 64-х битной системы,

а мой для 32-х битной
Код: 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.
Private Const sLibPath$ = "c:\Temp\quricol32.dll"
Private Enum TErrorCorretion
    QualityLow
    QualityMedium
    QualityStandard
    QualityHigh
End Enum
 
Private Declare Sub GenerateBMP _
                Lib "c:\Temp\quricol32.dll" _
                Alias "GenerateBMPW" ( _
                ByVal FileName As Long, _
                ByVal Text As Long, _
                ByVal Margin As Long, _
                ByVal Size As Long, _
                ByVal Level As TErrorCorretion)
                
Private Declare Sub GenerateBMPToClipboard _
                Lib "c:\Temp\quricol32.dll" _
                Alias "GenerateBMPToClipboardW" ( _
                ByVal Text As Long, _
                ByVal Margin As Long, _
                ByVal Size As Long, _
                ByVal Level As TErrorCorretion)
Private Sub cmdIncetrQRCod_Click()
    If Len(Me.txtQRCodTexт) = 0 Then
        MsgBox "Нет текста !!!", vbExclamation, "Внимание!"
        Exit Sub
    End If
                
    GenerateBMPToClipboard StrPtr(Me.П_Уважаем1), 3, 5, QualityLow
    Me.objQRCod.Action = acOLEPaste
                
End Sub

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

Вот универсальное объявление:
Код: 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.
Option Explicit

Private Enum TErrorCorretion
    QualityLow
    QualityMedium
    QualityStandard
    QualityHigh
End Enum

#If VBA7 Then 'For 64-bit office
    Private Declare PtrSafe Sub GenerateBMP _
                Lib "d:\Temp\quricol64.dll" _
                Alias "GenerateBMPW" (ByVal FileName As LongPtr, ByVal Text As LongPtr, _
                ByVal Margin As Long, ByVal Size As Long, ByVal Level As TErrorCorretion)

    Private Declare PtrSafe Sub GenerateBMPToClipboard _
                Lib "d:\Temp\quricol64.dll" _
                Alias "GenerateBMPToClipboardW" (ByVal Text As LongPtr, ByVal Margin As Long, _
                ByVal Size As Long, ByVal Level As TErrorCorretion)
#Else 'For 32-bit office
    Private Declare Sub GenerateBMP _
                Lib "D:\Temp\quricol32.dll" _
                Alias "GenerateBMPW" (ByVal FileName As Long, ByVal Text As Long, _
                ByVal Margin As Long, ByVal Size As Long, ByVal Level As TErrorCorretion)
                
    Private Declare Sub GenerateBMPToClipboard _
                Lib "D:\Temp\quricol32.dll" _
                Alias "GenerateBMPToClipboardW" (ByVal Text As Long, ByVal Margin As Long, _
                ByVal Size As Long, ByVal Level As TErrorCorretion)
#End If
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113642
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
Wawan2005
а мой для 32-х битной

Вот универсальное объявление:
...
нет
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113643
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005
Ругается на всю строчку
Код это что, жена на кухне? На техническом форуме следует публиковать сообщение об ошибке или хотя бы номер.
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113644
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005
Панург,

Ругается на оба варианта
Исправив вызов процедуры, ты, скорее всего, не изменил декларацию.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
        Private Declare PtrSafe Sub GenerateBMPToClipboard _
            Lib "C:\Downloads\quricol64.dll" _
            Alias "GenerateBMPToClipboardW" ( _
            ByVal Text As String, _
            ByVal Margin As Long, _
            ByVal Size As Long, _
            ByVal Level As Long)
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113732
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wawan2005
Пример Eugene-LS рабочий на всё 100 % для 64-х битной системы,
а мой для 32-х битной


Алилуя... я в самом начале тебе об этом говорил...

vmag
код и сами dll (судя по LongPtr и названиям dll) исключительно для 64 разряда,
LongPtr 32 разряда не понимает, там просто Long


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

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

Да я ничего не менял в декларации
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113863
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmag,

, ну может по этому и исправил (типа сам), то что читал ранее в башке отложилось вот и давай менять-)))
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113867
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wawan2005
Eugene-LS, У меня VBA - 6.5-)))

Это я уже понял :)
Значит всё что ниже строки:
Код: vbnet
1.
#Else 'For 32-bit office


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

не получается
ругается на " 'For 64-bit office" вероятно из за " ' " он зелёным выделил это, а всё остальное пометил красным,

Private Declare PtrSafe Sub GenerateBMP _
Lib "d:\Temp\quricol64.dll" _
Alias "GenerateBMPW" (ByVal FileName As LongPtr, ByVal Text As LongPtr, _
ByVal Margin As Long, ByVal Size As Long, ByVal Level As TErrorCorretion)

Private Declare PtrSafe Sub GenerateBMPToClipboard _
Lib "d:\Temp\quricol64.dll" _
Alias "GenerateBMPToClipboardW" (ByVal Text As LongPtr, ByVal Margin As Long, _
ByVal Size As Long, ByVal Level As TErrorCorretion)
до "#Else"
и получается он у меня сразу заругался на ветку 64 бита, а офис 32 бита
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113874
Wawan2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eugene-LS,

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

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

полный...
был бы он электриком, наверное уже бы и погиб...
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113938
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wawan2005
ругается на " 'For 64-bit office" вероятно из за " ' " он зелёным выделил это, а всё остальное пометил красным,
и получается он у меня сразу заругался на ветку 64 бита, а офис 32 бита

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

Я радио инженер -))
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113967
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene-LS
...Так и должно быть!...
вопрос из зала - там больше никакой константы условной компиляции не нужно? для какого-нибудь другого варианта сочетания...
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40113986
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
вопрос из зала - там больше никакой константы условной компиляции не нужно?

Да адаптация краткая и НЕ ПОЛНАЯ (вы уже намекали выше), но суровая практика показывает что уже и этого достаточно (в большинстве случаев).

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


а там сочетаний мало... ноги растут отсюда:
- dll для ОС 64 ни под каким соусом не взлетит на 32 ОС
- dll для ОС 32 на ОС 64 взлетит с вероятностью 50/50...

По этому вытекает следствие - дабы не париться с выходной коробкой приложения, компилируем этот общий код на двух акцессах 32 и 64 отдельно и делаем две инсталляхи 32 и 64...
В дистрибутив для офиса 32 включаем dll 32
В дистрибутив для офиса 64 включаем dll 64
100 % всё будет работать если:
- коробка 32 ставится на ОС 32 и офис 32
- коробка 64 ставится на ОС 64 и офис 64
При установке офиса 32 на ОС 64, могут быть нюансы (зависит от того, кто делал dll)
У меня например есть пару dll 32 для вывода в PDF, но они ни в какой конфигурации не работают под ОС 64...
Слава Богу в А2010 эта проблема уже не существует (есть штатный вывод в PDF)
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114015
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
а там сочетаний мало... ноги растут отсюда:
не нужно теорий. В данном случае есть 2 библиотеки 32 и 64
Точно библиотека 64 не будет работать на Access 201x 32.
сочетание
Код: vbnet
1.
#If VBA7 Then 'For 64-bit office

пустит компиляцию именно по этой ветке в озвученном выше сочетании. И скопировав код ТС через некоторое время придёт с заявлением
Wawan2005
Ругается на всю строчку
ведь он не
Панург
это писец...
а
Wawan2005
Я радио инженер -))
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114017
Eugene-LS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Wawan2005
Я радио инженер -))

Вот вам ещё примерчик ...
Библиотечки подхватываются из папки приложения автоматом!
+ добавлено немного адаптации ... (но не сполна)
Проверено:
- Win10x86 MSO 2010x86
- Win10x64 MSO 2021x64
Работает ...
...
Рейтинг: 0 / 0
Помогите, адаптировать код из VBA Excel в VBA Access
    #40114022
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
не нужно теорий.

Это практика...
Однажды я уперся в то, что у клиента стоял офис 64 (очень удаленный) и мой acde 32 там не стартовал...
Исходник под акцесс 64 открывался но не компилился из-за кучи кернелов 32 и вот когда я его переделал описанным выше образом, то смог закомпилить acde на 64 разряда...
Ну и естественно после этого acdb и под 32 и под 64 работает без проблем
...
Рейтинг: 0 / 0
25 сообщений из 126, страница 2 из 6
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите, адаптировать код из VBA Excel в VBA Access
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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