Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  VBA 64BIT GetOpenDialog Typen unverträglich

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  VBA 64BIT GetOpenDialog Typen unverträglich (226 mal gelesen)
michimueller85
Mitglied



Sehen Sie sich das Profil von michimueller85 an!   Senden Sie eine Private Message an michimueller85  Schreiben Sie einen Gästebucheintrag für michimueller85

Beiträge: 24
Registriert: 06.12.2010

erstellt am: 28. Jun. 2022 12:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich bin von Autocad 2011 auf Autocad 2019 umgestiegen und bin gerade dabei meine Maktros wieder zum laufen zu kriegen.
Mit der Umstellung von 32Bit auf 64Bit hab ich nun so meine Probleme..

in der Zeile  .lpstrFile = VarPtr(sFile(0)) kommt die Meldung: Fehler beim Kompilieren, Typen unverträglich

anbei der ganze Code:


Private Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long


Private Function GetOpenDialog() As String

  Dim of As OPENFILENAME

  Dim sFile(256) As Byte

  Dim s As String

  With of

    .lStructSize = Len(of)

    .lpstrFile = VarPtr(sFile(0))

    .nMaxFile = 256

  End With

  GetOpenFileName of

 

  For i = 0 To UBound(sFile)

      If sFile(i) <> 0 Then

        s = s + Chr(sFile(i))

      End If

  Next

 

  GetOpenDialog = s
 

End Function

Sub aufruf_dialog()

eingabe_excel_list = GetOpenDialog

End Sub


kann mir jemand weiterhelfen? 

Vielen Dank

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

michimueller85
Mitglied



Sehen Sie sich das Profil von michimueller85 an!   Senden Sie eine Private Message an michimueller85  Schreiben Sie einen Gästebucheintrag für michimueller85

Beiträge: 24
Registriert: 06.12.2010

erstellt am: 28. Jun. 2022 14:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo ich hab das Problem gefunden:

bei der Variablendeklaration muss folgendes stehen:

lpstrFile As LongPtr

Flasch war:

lpstrFile As Long  //funktioniert mit 32Bit

Grüße

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rexxitall
Mitglied
Dipl. -Ing. Bau


Sehen Sie sich das Profil von rexxitall an!   Senden Sie eine Private Message an rexxitall  Schreiben Sie einen Gästebucheintrag für rexxitall

Beiträge: 261
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 12. Jul. 2022 01:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für michimueller85 10 Unities + Antwort hilfreich

Von microsoft gibt es eine Datei die das komplette Windows 64 bit API auf VBA 64 "vorstellt"  Einfach mal googlen.

------------------
Wer es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< not for sale !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rexxitall
Mitglied
Dipl. -Ing. Bau


Sehen Sie sich das Profil von rexxitall an!   Senden Sie eine Private Message an rexxitall  Schreiben Sie einen Gästebucheintrag für rexxitall

Beiträge: 261
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 12. Jul. 2022 12:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für michimueller85 10 Unities + Antwort hilfreich

https://github.com/ReneNyffenegger/WinAPI-4-VBA/blob/master/Win32API_PtrSafe.txt

------------------
Wer
es nicht versucht, hat schon verlorn 
Und bei 3 Typos gibts den vierten gratis !
<<< not for sale !

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rexxitall
Mitglied
Dipl. -Ing. Bau


Sehen Sie sich das Profil von rexxitall an!   Senden Sie eine Private Message an rexxitall  Schreiben Sie einen Gästebucheintrag für rexxitall

Beiträge: 261
Registriert: 07.06.2013

Various: systems, Operating systems, cad systems, cad versions, programming languages.

erstellt am: 19. Jul. 2022 22:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für michimueller85 10 Unities + Antwort hilfreich

Probier es mal damit  
WINAPI_used. Das sollte das Meiste abdecken.
------------------
Wer es nicht versucht, hat schon verlorn  
Und bei 3 Typos gibts den vierten gratis !
<<< not for sale !

[Diese Nachricht wurde von rexxitall am 19. Jul. 2022 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2022 CAD.de | Impressum | Datenschutz