Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem mit 32-Bit und 64-Bit beim Makro ausführen

Problem mit 32-Bit und 64-Bit beim Makro ausführen
25.10.2013 13:58:49
Jenny
Hallo alle zusammen, bekomme beim ausführen des unten stehenden Makros die Meldung, dieses müsse auf 64 Bit aktualisiert werden, kann mir dabei jemand helfen?
DAnke und liebe Grüße
Jenny
Option Explicit
Private Declare Function GlobalLock Lib "kernel32.dll" ( _
ByVal hMem As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32.dll" ( _
ByVal hMem As Long) As Long
Private Declare Function lstrlenA Lib "kernel32.dll" ( _
ByVal lpString As Long) As Long
Private Declare Function lstrcpyA Lib "kernel32.dll" ( _
ByVal lpString1 As Any, _
ByVal lpString2 As Any) As Long
Private Declare Function RegisterClipboardFormatA Lib "user32.dll" ( _
ByVal lpString As String) As Long
Private Declare Function IsClipboardFormatAvailable Lib "user32.dll" ( _
ByVal wFormat As Long) As Long
Private Declare Function OpenClipboard Lib "user32.dll" ( _
ByVal hWnd As Long) As Long
Private Declare Function GetClipboardData Lib "user32.dll" ( _
ByVal wFormat As Long) As Long
Private Declare Function CloseClipboard Lib "user32.dll" () As Long
Public Sub InsertHtml()
Dim strReturn As String
Dim avntTemp As Variant
Dim ialngIndex As Long, lngEmptyLines As Long
strReturn = HTMLFromClipboard
If strReturn  vbNullString Then
avntTemp = Split(strReturn, vbNewLine)
For ialngIndex = LBound(avntTemp) To UBound(avntTemp)
If avntTemp(ialngIndex) = vbNullString Then _
lngEmptyLines = lngEmptyLines + 1
Next
Cells(1, 1).Resize(UBound(avntTemp) - lngEmptyLines, 1).Value = _
Application.Transpose(avntTemp)
Else
MsgBox "Kein HTML im Clipboard"
End If
End Sub
Private Function HTMLFromClipboard() As String
Dim lngFormatHTML As Long
Dim lngHandle As Long, lngPointer As Long
Dim strText As String
lngFormatHTML = RegisterClipboardFormatA("HTML Format")
If IsClipboardFormatAvailable(lngFormatHTML) Then
Call OpenClipboard(0&)
lngHandle = GetClipboardData(lngFormatHTML)
lngPointer = GlobalLock(lngHandle)
strText = Space$(lstrlenA(ByVal lngPointer))
Call lstrcpyA(strText, ByVal lngPointer)
Call GlobalUnlock(lngPointer)
Call CloseClipboard
HTMLFromClipboard = strText
End If
End Function

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem mit 32-Bit und 64-Bit beim Makro ausführen
25.10.2013 14:12:36
Jenny
Hallo Luschi,
ich lese in dem Link den Satz "Wenn Sie 32-Bit-Code schreiben, können Sie die 64-Bit-Version von Microsoft Office ohne Änderungen verwenden."
Warum bekomme ich dann überhaupt diese Fehlermeldung?
Jenny

AW: Problem mit 32-Bit und 64-Bit beim Makro ausführen
25.10.2013 14:20:05
Luschi
Hallo Jenny,
In diesem Fall wird von normalem Vba-Code gesprochen. Du verwendest aber API-Funktionsaufrufe, die das Betriebssystem mitbringt und da ist eben diese Anpassung erforderlich.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Problem mit 32-Bit und 64-Bit beim Makro ausführen
25.10.2013 14:22:49
Jenny
leider ändert es trotzdem nichts daran, dass ich Hilfe benötie, hab den Code da nicht selbst geschrieben, hab von sowas kaum Ahnung.
Daher meine Bitte um Hilfe von jemandem der weiß was man da ändern muss.
Jenny

AW: Problem mit 32-Bit und 64-Bit beim Makro ausführen
25.10.2013 14:39:57
Rudi
Hallo,
z.B.
#If win64 Then
Private Declare ptrsafe Function GlobalLock Lib "kernel32.dll" ( _
ByVal hMem As Longptr) As Longptr
#Else
Private Declare Function GlobalLock Lib "kernel32.dll" ( _
ByVal hMem As Long) As Long
#End If

Die anderen Functions entsprechend.
Der Compiler wird meckern, aber nur 1 mal.
Gruß
Rudi

Anzeige
AW: Problem mit 32-Bit und 64-Bit beim Makro ausführen
26.10.2013 08:17:13
Luschi
Hallo Rudi,
manchmal glaube ich, die M$-Verantwortlichen für die MSDN-Hilfe schreiben ihre Anleitungen mit Notepad oder dem vi-Editor. Original aus dem von mir geposteten Link:

#if VBA7 then 'VBA7

Gruß von Luschi
aus klein-Paris

37 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige