| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Standarddialogbox (651 mal gelesen)
|
SEHER Mitglied Systemanalytiker
Beiträge: 1203 Registriert: 13.03.2001
|
erstellt am: 02. Jul. 2004 14:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, habe mir was vba-code aus einem inventor vba programm kopiert und musste leider feststellen das acad vba die fkt. filedialog mit den optionen filter usw. nicht unterstützt. Gibts hier ne andere lösung oder muss ich selber stricken? Für jeden hinweis dankbar Gruß Seher Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 02. Jul. 2004 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
|
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 02. Jul. 2004 15:16 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
|
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003
|
erstellt am: 20. Nov. 2005 18:37 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
Hi, ich würde mich auch gerne mal an der Filedialogbox versuchen, leide klappt die von startreck angehängte datei nicht (ist irgendwewie defekt) habe sie in "Browseforfolder.xls" (warum eigentlich Excel?)umbenannt, kann sie aber denoch nicht öffnen. Bernd ------------------
Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 21. Nov. 2005 12:48 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
Hi Bernd, keine Ahnung, warum die xls bei Dir nicht tut, ist auch ziemlich komplex das Teil. Alternativ als Würgaround-Code für Acad, der sich allerdings das Dialogfeld aus Excel borgt;-)
Code:
Sub file_dialog() Dim xlApp As Object, myFile As Variant Set xlApp = CreateObject("excel.application") myFile = xlApp.Application.GetOpenFilename("dwg-Dateien (*.dwg),*.dwg") xlApp.Quit: Set xlApp = Nothing If myFile <> False Then MsgBox myFile Documents.Open myFile End If End Sub
HTH, Nancy[Diese Nachricht wurde von startrek am 21. Nov. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 21. Nov. 2005 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
Hallo, Nancy hat wohl die einfachere Methode. Wenn kein Excel oder so dann - entweder eigenes OCX mit VB erstellen oder - über API(sieht doch einfach aus ) Stelli ------------------ Warum lisp'eln wenn's auch anders geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
startrek Moderator Architekt
Beiträge: 1361 Registriert: 13.02.2003 .
|
erstellt am: 21. Nov. 2005 21:48 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
It's me again ... @stelli: naja bin manchmal eine recht pragmatische Natur;-) Aber okay Bernd - warum eigentlich Excel? - Ja, warum? Eigentlich ja nicht, wiegesagt, warum das geuppte File nicht geht, weiss ich nicht, [habs heute nochmal runtergeladen auf nem XP-Rechner, da gings] Hatte aber in dem verlinkten Beitrag, diesselben Module aus dem xl-File in eine dvb eingebunden und gebibbert obs denn ging, da der Code doch etwas heftiger ist;-) Von daher war hier Excel nur das Medium und sozusagen entbehrlüsch;-) Bei meiner heutigen Antwort ist jedoch Excel/Word & Co unabdingbar, da die Office-Familie den interaktiven FileOpen-Dialog unterstützt, Acad aber glaube nicht. Achja, stelli da fällt mir noch ein, apropose VB, ginge da nicht auch was mit dem commonfiledialogdings? (habs aber noch nie probiert schäm) ;-) lg Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 22. Nov. 2005 11:15 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
Hallo, mit commonfiledialog geht's in VB und VBA. Nur beim AutoCAD VBA werden ein paar Sachen seltsammerweise nicht unterstützt. Man könnte in VB ein OCX erstellen (wie xTimer.ocx) das man auch in AutoCAD VBA benutzen kann. In VB kann man das über die API oder einfacherer dort den Commonfiledialog einbinden und die Eigenschaften durchreichen. Könnte dann auch gleich den Cancel Error vernünftig abfangen. Hatte noch nicht wirklich die Aufgabe. Brauchs in VBA eigentlich nur an einer Stelle und da hab ich auf die Eigenschaften verzichtet. So läuft es bei mir.
Code:
Private Sub bt_Dateiwahl_Click() filedialog.CancelError = True filedialog.Filter = "Access *.mdb|*.mdb" filedialog.DefaultExt = "mdb" filedialog.Flags = &H4& ' Je nach gewünschter Aktion Flags setzen ' Datei muss vorhanden sein filedialog.Flags = filedialog.Flags + &H1000& ' Pfad muss vorhanden sein filedialog.Flags = filedialog.Flags + &H800& On Error GoTo Abbruch filedialog.ShowOpen If filedialog.FileName <> "" Then Me.txt_VorlageMDB.Text = filedialog.FileName End If Abbruch: End Sub
Stelli ------------------ Warum lisp'eln wenn's auch anders geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BerndE Mitglied Hochbautechniker
Beiträge: 557 Registriert: 05.07.2003
|
erstellt am: 22. Nov. 2005 11:45 <-- editieren / zitieren --> Unities abgeben: Nur für SEHER
|