Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Dateiöffnendialog

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
  
NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
Autor Thema:  Dateiöffnendialog (4118 mal gelesen)
Gerd_Ecke
Mitglied
Bergbauingenieur


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

Beiträge: 148
Registriert: 28.08.2002

erstellt am: 06. Dez. 2004 09:25    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 NG,

bin erst wenige Wochen VBA-Anwender, komme aus der Rcihtung Pascal.
Grundlegende Fragen, wie binde ich in meine Routine einen Dateiöffnen-Dialog ein ( möglichst den Standartdialog von Windows ), möchte meinem Programm nur mitteilen wo sich eine bestimmte Textdatei befindet.

Mit freundlichen Grüßen
und besten Dank
GE

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

cnc
Mitglied
cnc,..


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

Beiträge: 37
Registriert: 19.09.2004

erstellt am: 06. Dez. 2004 14:09    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 Gerd_Ecke 10 Unities + Antwort hilfreich

Ich glaube du meinst das hier:

Rechtsklick auf Werkzeugsamlungfenster,Zusätzliche Steuerelemente und dann Microsoft Common Dialog Control auswählen.

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 06. Dez. 2004 14:22    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 Gerd_Ecke 10 Unities + Antwort hilfreich

Hallo Gerd,

kannst auch nachfolgenden Code in ein Modul kopieren und immer bei Bedarf aufrufen. Ein Beispiel, wie die Funktionen benutzt werden finden sich in 'DateiDialogStart()'.

Code:
Public Declare Function GetOpenFileName Lib "comdlg32.dll" _
  Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

Public Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

Function fkt_FileOpen() As String
Dim sFilters, sType As String
Dim pos As Integer
Dim buff As String
Dim sLname As String
Dim sSname As String
Dim OFName As OPENFILENAME

sFilters = "VB-Dateien (*.frm;*.bas;*.cls)" & vbNullChar & _
           "*.frm;*.bas;*.cls" & vbNullChar & _
           "Formulardateien(*.frm)" & vbNullChar & "*.frm" & vbNullChar & _
           "Basic-Dateien (*.bas)" & vbNullChar & "*.bas" & vbNullChar & _
           "Klassendateien (*.cls)" & vbNullChar & "*.cls" & vbNullChar & _
           "Alle Dateien (*.*)" & vbNullChar & "*.*" & vbNullChar

With OFName
    .lStructSize = Len(OFName)
    .hwndOwner = &O0
    .lpstrFilter = sFilters
    .nFilterIndex = 1
    .lpstrFile = sModul & Space$(1024) & vbNullChar & vbNullChar
    .nMaxFile = Len(.lpstrFile)
    .lpstrFileTitle = Space$(254)
    .nMaxFileTitle = 255
    .lpstrInitialDir = "c:\temp"
    .lpstrTitle = "Modul exportieren"
    .flags = OFN_LONGNAMES
End With

If GetOpenFileName(OFName) Then
        fkt_FileOpen = Left(OFName.lpstrFile, InStr(1, OFName.lpstrFile, Chr(0)) - 1)
    ElseIf intError = 0 Then
End If
End Function


Sub DateiDialogStart()
Dim sPfad As String

    sPfad = fkt_FileOpen
    Debug.Print "Ausgewählte Datei: ", sPfad
   
End Sub



Gruß TP

------------------

[Diese Nachricht wurde von BloodyMess am 06. Dez. 2004 editiert.]

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

Gerd_Ecke
Mitglied
Bergbauingenieur


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

Beiträge: 148
Registriert: 28.08.2002

erstellt am: 07. Dez. 2004 09:25    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

DANKE 

@cnc : Lösungsansatz war voll richtig, aber beim Einbinden kommt der Fehler auf fehlende Lizenzierung.

@BloodyMess : AHA - Effekt ist genau was ich suchte. Aber gleich ergibt sich noch eine Frage im Nachhinein :
Wie bekomme ich heraus welche Funktionen noch in der dll stecken wenn ich diese über Verweise und dem Objektkatalog nicht ansprechen kann ?
Meine Firma gibt zwar k€ fur 1000 Lizenzen MS-Office Pro. und k€ für 20 L. Acad Map 2005 aus aber wenn man MS-VB will kommt als Antwort: "mit VBA : findfirst, findnext ..."

MfG
GE
   

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 07. Dez. 2004 10:54    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 Gerd_Ecke 10 Unities + Antwort hilfreich

Hallo Gerd,

mit dem Dependency Checker kommst Du an die Funktionen, welche sich in der DLL befinden (eigentlich ist er dazu gedacht um die Abhängigkeiten einer DLL anzuzeigen). Die Frage ist nur immer, werden die Funktionen  auch exportiert und noch wichtiger, wie kann man sie aufrufen?
Die Funktionen bekommst Du über den Dependency Checker, wie Sie aufgerufen werden, aber meist nicht. Das kann man aber auf Seiten im Netz nachlesen.
Am besten Du googelst mal nach der DLL und der Funktion irgendwo gibt es eine Übersicht über die Funktionen der einzelnen DLLs. Kann Dir die Seite spätestens heute abend schicken .

Hoffe das hilft Dir weiter
Gruß TP

------------------

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

BloodyMess
Mitglied
Applicationingenieur


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

Beiträge: 604
Registriert: 06.06.2002

AutoCAD Map 3D 2005
Win XP pro

erstellt am: 08. Dez. 2004 18: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 Nur für Gerd_Ecke 10 Unities + Antwort hilfreich

Hoppala fast vergessen ...

Dependency Checker

Die besagte Seite
... ist zwar auf Französisch und es sind nicht alle Funktionen. Sie gibt aber einen Überblick.

Gruß TP

------------------

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

s.wickel
Mitglied
Bauingenieur Wasserwirtschaft


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

Beiträge: 422
Registriert: 17.12.2001

erstellt am: 04. Feb. 2005 08:40    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 Gerd_Ecke 10 Unities + Antwort hilfreich

Hallo BloodyMess!

Klasse Programm! Hab' ich schon lange gesucht. Ich hab' dir 10 Unities gutgeschrieben. Weiß eigentlich jemand, was man damit anfangen kann?

------------------
Nodda,

Stefan 

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

AutoCAD ACA 2024
Solidworks 2022 Sp5
Enterprise PDM 2022 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell Precision 3660
Intel Core i9-12900K
32 GB Arbeitsspeicher
2x Dell U2415

erstellt am: 27. Feb. 2005 13:33    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 Gerd_Ecke 10 Unities + Antwort hilfreich

Hallo zusammen,

Das Problem mit der Lizensierung des Microsoft Common Dialog kann man wie folgt aus der Welt schaffen:
Man besorge sich von Microsoft die kostenlose Visual Basic Control Creation. Man installiere das Programm und schon ist das Microsoft Common Dialog lizensiert. Und ohne die Vollversion von Visual Studio.

link: http://download.microsoft.com/msdownload/sbn/vbcce/vb5ccein.exe

Gruß, Carsten

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

Headcase
Mitglied
Dipl.-Ing. (FH) --> Maschinenbau


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

Beiträge: 141
Registriert: 14.10.2004

WinXP Prof., SP3
AutoCAD Mechanical 2010 (2008)
Inventor 2010 (2008)

erstellt am: 02. Nov. 2006 13:34    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 Gerd_Ecke 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Carsten1210:
Man besorge sich von Microsoft die kostenlose Visual Basic Control Creation.

Hallo,

kann mir jemand sagen, wo man die derzeit noch herbekommt? Der Link funktioniert leider nicht mehr, MS scheint die nicht mehr anzubieten.
Kennt jemand Alternativen?

Vielen Dank schonmal!

Grüße!
René

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

erstellt am: 02. Nov. 2006 13:42    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 Gerd_Ecke 10 Unities + Antwort hilfreich

Hallo René,

Schau mal hier.
Da brauchst du das Conrol nicht mehr.

Gruß, Carsten

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

Headcase
Mitglied
Dipl.-Ing. (FH) --> Maschinenbau


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

Beiträge: 141
Registriert: 14.10.2004

WinXP Prof., SP3
AutoCAD Mechanical 2010 (2008)
Inventor 2010 (2008)

erstellt am: 02. Nov. 2006 14:06    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 Gerd_Ecke 10 Unities + Antwort hilfreich

Hallo Carsten,

danke für die schnelle Antwort.
Für den Dateiöffnendialog habe ich einen ähnlichen Workaround gefunden,  jedoch geht es mir auch um die restlichen Dialoge wie Schriftart ändern usw.
Ich habe hier ein paar tolle Beispieldateien mit dem Steuerelement, die funktionieren auch, aber sobald ich etwas anpassen will, gibts Gemecker wg. fehlender Lizenz 

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

Nepumuk
Mitglied
Entwicklungsleiter


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

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 03. Nov. 2006 20: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 Nur für Gerd_Ecke 10 Unities + Antwort hilfreich

Hi,

ich habe den Download von Microsoft. Schreib mir eine Mail, dann schicke ich ihn dir (ist aber 7,13MB groß ) Eine Adresse findest du hier:
http://www.online-excel.de/excel/kontakt.php

------------------
Gruß
Nepumuk

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



Anzeige:Infos zum Werbeplatz >>

Qscape CAD APP für Landschaft, Landschaftsarchitektur

Intuitive Landscape Architecture software. Hardworks, softworks, planting plans, keys, plant schedules and cost estimates.

Nepumuk
Mitglied
Entwicklungsleiter


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

Beiträge: 351
Registriert: 16.10.2004

erstellt am: 03. Nov. 2006 21:07    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 Gerd_Ecke 10 Unities + Antwort hilfreich

Nochwas,

die Dialoge lassen sich auch ohne Control aufrufen. Das geht über die comdlg32.dll und das ganz ohne zusätzliche Lizensierung. Kleines Beispiel:

Code:
Option Explicit

Private Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" ( _
    pChoosecolor As ChooseColor) As Long
   
Private Type ChooseColor
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    rgbResult As Long
    lpCustColors As Long
    flags As Long
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

Private Function ShowColor(Optional PresetColor As Long = 0) As Long
    Dim udtColor As ChooseColor
    Dim lngCustomColors(0 To 15) As Long
    udtColor.lStructSize = Len(udtColor)
    udtColor.lpCustColors = VarPtr(lngCustomColors(0))
   
    udtColor.flags = 0 'normal
'    udtColor.flags = 2 'erweitert

    If ChooseColor(udtColor) <> 0 Then
        ShowColor = udtColor.rgbResult
    Else
        ShowColor = -1
    End If
End Function

Public Sub Test()
    Dim lngColor As Long
    lngColor = ShowColor
    If lngColor >= 0 Then
        MsgBox "RGB: " & lngColor
    Else
        MsgBox "Abgebrochen"
    End If
End Sub


------------------
Gruß
Nepumuk

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)2025 CAD.de | Impressum | Datenschutz