Hot News:
  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Aufruf Dateieigenschaften in VBA (Seite 3)

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

Anzeige:


UBBFriend: Senden Sie diese Seite per eMail an einen Freund!
Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen Dieses Thema ist 6 Seiten lang:   1  2  3  4  5  6 nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   Aufruf Dateieigenschaften in VBA (7221 mal gelesen)
Stelli1
Moderator
Verm.-Ing.


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

Beiträge: 1195
Registriert: 17.08.2005

Map 2000-2010, Rasterdesign
MapGuide 6.5 - 2010
Oracle 9i,10g Enterprise
autodesk Topobase 2-2010
VS6, VS.net

erstellt am: 24. Mrz. 2006 10: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
Hallo,

Zitat:
Original erstellt von wwwilli:
Das mit der ersten Variante hat den Nachteil, dass ich sie nicht kapiere. Du siehst ja, dass ich mich Taste für Taste vorarbeiten muss...


Die Antworten sollten auf keinen Fall irgendwie negativ rüberkommen.
Wenn ja, dann sorry, war auf keinen Fall so gemeint.

Zitat:
Original erstellt von wwwilli:
Hallo,
weiß jemand, wie in einem VBA-Makro in ACAD die Dialoge "Dateieigenschaften" und "Dateispeichernunter" (oder ähnlich) aufgerufen werden können?
MfG

Es ist jedoch schwer eine Lösung vorzuschlagen da du nicht geschrieben hast was du machen willst.
Schilder doch mal deine Aufgabe, ansonsten kann ich mir keinen Reim darauf machen was deine Aufgabe ist. Formulare verwendest du nicht ?!

Übringens der Commondialog ist dazu gedacht den Windows Öffnen/Speichern Dialog aufzurufen. Er ist ein OCX und kann unter Werkzeuge mit eingeblendet werden (TR in der Werkzugpalette, Zusätzliche Komponenten)
Dieses OCX kann man dann wie eine Textbox auf ein Formular ziehen.

Stelli

------------------
Warum lisp'eln wenn's auch anders geht.
www.ib-stelberg.de

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

wwwilli
Mitglied
Ingenieur


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

Beiträge: 305
Registriert: 21.03.2006

ACAD MAP 3D 2009.
VestraCAD.
Win XP SP3, FD 150 GB, Pentium4, 3,2 GHz, 4 GB.

erstellt am: 27. Mrz. 2006 11:32    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,
mein Makro soll bei Bedarf die Standard-Anweisung "Speichern Unter" ersetzen. Es soll erst die Dateieigenschaften abfragen, daraus, wenn möglich Rückschlüsse ziehen, in welchen Ordner das neue Bild gehören könnte und einen Vorschlag machen, wie es (nach vorgegebener Systematik) heißen könnte. Dann Speichern Unter ausführen (mit dennoch freier Wahl von Namen und Ordner). Und dann aus Dateiinfos und Namen und Pfad einen Eintrag in eine Übersichtsdatei für jeden Ordner absetzen.

In Word, XL und PP habe ich Ähnliches mittlerweile hinbekommen, in ACAD bin ich mit dem ...sendcommand "_saveas " auch mit Leerzeichen nicht wirklich glücklich, da ich Pfad und Namen nicht vorschlagen und dennoch frei wählbar machen kann. Sonst könnte ich ja gleich in VBA saveas ausführen.

Ohne Scham gebe ich zu, dass mir vieles beim Programmieren in VBA tatsächlich verborgen bleibt, da ich das nicht richtig gelernt habe und mich neben meiner Arbeit als Bauingenieur nur minutenweise mit Informatik beschäftigen kann. Gelernt habe ich ab 1976 Progranmmieren mit Fortran IV und anderen tollen Sachen, aber das bringt mich in VBA über eine konfuse, aber funktionierende Programmstruktur nicht hinaus. Die mir zur Verfügung stehende Hilfefunktionen finde ich oft skandalös unhilfreich. Ich bin oft auf übertragbare Beispiele angewiesen, um sie angepasst zu übernehmen. Bisher ging das eigentlich auch ganz gut, und meine Makros funktionieren zu meiner Zufriedenheit; an diesem Punkt komme ich aber lange nicht weiter.
MfG

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

Huebi
Mitglied
Vermessungsing.


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

Beiträge: 107
Registriert: 08.01.2004

Intel Core Duo E6750@2.66GHz
NVIDIA GeForce 8600 GT
AutoCAD 2004, 2007, 2008
AcadMAP 2004 und 2007
Civil 3D 2008
ADT 2009

erstellt am: 27. Mrz. 2006 12:08    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
Servus Willi,

Der Ansatz von Carsten war doch schon ganz gut und treffend. Du solltest Dich mit dem CommonDialog auseinandersetzen oder zumindest ihn richtig abkupfern können. So hab's zumindest ich gemacht ;-)

Als erstes erstellst Du Dir in VBA unter "Extras" - "Verweise" einen Verweis zu CommonDialog indem Du "Microsoft Common Dialog Control..." anklickst.
Danach erstellst Du einfach mal ein neues Formular mittels "Einfügen" - "UserForm". Keine Angst, Du mußt ja jetzt nicht zum Formularprogrammierer werden, Du brauchst es nur um den Common Dialog anzusprechen.
In Deiner Werzeugsammlung (mit der man Befehlschaltflächen etc. reinbasteln kann) sollte nun zusätzlich der Button "CommonDialog" hinzugekommen sein. Falls nicht, dann füge es mit "Extras" "Zusätzliche Steuerelemente" dazu.
Dieses Steuerelement ziehst Du einfach in Dein leeres Formular.

So, und jetzt öffnest Du den Code zum Formular (rechte Maustaste, "Code anzeigen") und kopierst den Code von Carsten (den Du sinnvollerweise an Deine Bedürfnisse anpasst) da rein.

(ich hab's ein bischen abgewandelt)

Zitat:
Code:

Private Sub UserForm_Activate()

CommonDialog1.DialogTitle = "Titel"
CommonDialog1.flags = cdlOFNOverwritePrompt + cdlOFNNoChangeDir
CommonDialog1.Filter = "DXF Files (*.dxf)|*.dxf" 'Filtername
CommonDialog1.CancelError = True
CommonDialog1.FileName = "" 'Dateinamenvorgabe
CommonDialog1.InitDir = "S:\DXF" 'Pfadvorgabe
CommonDialog1.ShowSave 'Ruft Speichernunter-Dialog auf
If Err = cdlCancel Then Exit Sub
DXF_File = CommonDialog1.FileName 'Übergabe dateiname von Dialog
ThisDrawing.SaveAs (DXF_File), acR12_dxf 'Speichern als DXF Release12

End Sub



Und jetzt kannst Du dieses Formular aus einem Modul mit "call" aufrufen.
Bei mir hat's immer ganz prima so geklappt :-)

Liebe Grüße vom Hübi

------------------
Schaun ma mal, dann seng ma scho.... 

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

wwwilli
Mitglied
Ingenieur


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

Beiträge: 305
Registriert: 21.03.2006

ACAD MAP 3D 2009.
VestraCAD.
Win XP SP3, FD 150 GB, Pentium4, 3,2 GHz, 4 GB.

erstellt am: 27. Mrz. 2006 13:18    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,
läuft schon nicht. In Verweise gibt es bei mir "Microsoft Common Dialog Control..." nicht. Hätte das nach Installation des CommonControl-Links von Carsten auftauchen sollen? Oder muss ich das noch suchen? Oder heißt es vieleicht anders?

Funktioniert das Ganze dann gegebenenfalls auch bei anderen Benutzern? Oder muss das dann wiederholt werden? Und beim nächsten ACAD-Update? Bei Nicht-Standard-Methoden sollte man vielleicht lieber die Finger weg lassen...

MfG

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

Huebi
Mitglied
Vermessungsing.


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

Beiträge: 107
Registriert: 08.01.2004

Intel Core Duo E6750@2.66GHz
NVIDIA GeForce 8600 GT
AutoCAD 2004, 2007, 2008
AcadMAP 2004 und 2007
Civil 3D 2008
ADT 2009

erstellt am: 27. Mrz. 2006 13:38    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 Willi,

Zitat:
läuft schon nicht. In Verweise gibt es bei mir "Microsoft Common Dialog Control..." nicht. Hätte das nach Installation des CommonControl-Links von Carsten auftauchen sollen? Oder muss ich das noch suchen? Oder heißt es vieleicht anders?

Falls Du es in der Liste nicht finden solltest, dann gehe auf "Durchsuchen" und such die Datei: "...\Windows\system32\Comdlg32.ocx". Leider weiß ich nicht, wann die Datei auf den Rechner installiert wird - ich vermute mal bei der Windows - Installation oder spätestens, wenn man Office installiert.

Zitat:
Funktioniert das Ganze dann gegebenenfalls auch bei anderen Benutzern?

Ja!

Zitat:
Und beim nächsten ACAD-Update?

Ich sag mal: wenn Du Dir da jetzt Sorgen machst, solltest Du die Finger von VBA in AutoCAD lassen!!!
Bei einem bin ich mir allerdings ganz sicher: Wenn uns der Himmel auf den Kopf fallen wird, funktionieren auch die CommonDialogs nicht mehr!

Zitat:
Bei Nicht-Standard-Methoden sollte man vielleicht lieber die Finger weg lassen...

Microsoft Common Dialog IST Standard und nichts exotisches und einer der einfachsten Wege das zu erreichen, was Du hier geschildert hast.

Leider lese ich aus Deinen Beiträgen einen gewissen Pessimismus und den wird kein noch so kompetenter und gut gemeinter Tipp aus diesem Forum überwinden können sondern nur Du selbst.

Mein Tip: Wenn Du möchtest, dass man Dir hilft, lass Deinen Frust nicht hier im Forum aus.

Nix für ungut 
Hübi

------------------
Schaun ma mal, dann seng ma scho.... 

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

wwwilli
Mitglied
Ingenieur


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

Beiträge: 305
Registriert: 21.03.2006

ACAD MAP 3D 2009.
VestraCAD.
Win XP SP3, FD 150 GB, Pentium4, 3,2 GHz, 4 GB.

erstellt am: 27. Mrz. 2006 14:00    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
Zitat:
Original erstellt von Huebi:
Leider lese ich aus Deinen Beiträgen einen gewissen Pessimismus...

Nicht doch... wer kommt denn auf sowas? In Word-VBA habe ich gut 10 Minuten gebraucht, um zu kriegen, was ich wollte, hier bin ich nach 10 Tagen noch nicht weiter. Ein Schelm, wer Schlechtes dabei empfände...

"Windows\system32\Comdlg32.ocx" ist da, lässt sich aber unter Verweise nicht hinzufügen: "Verweis auf angegebene Datei kann nicht hinzugefügt werden." Keine weiteren Infos vorhanden. :-))))
Heißt das veilleicht in der Liste "Verfügbare Verweise" doch anders und ist schon da? Da sehe ich überschläglich 200 bis 300 Einträge, von denen es vielleicht einer sein könnte.

MfG
vom immer optimistischen
wwwilli

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

Huebi
Mitglied
Vermessungsing.


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

Beiträge: 107
Registriert: 08.01.2004

Intel Core Duo E6750@2.66GHz
NVIDIA GeForce 8600 GT
AutoCAD 2004, 2007, 2008
AcadMAP 2004 und 2007
Civil 3D 2008
ADT 2009

erstellt am: 27. Mrz. 2006 14:12    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
Zitat:
Nicht doch... wer kommt denn auf sowas? In Word-VBA habe ich gut 10 Minuten gebraucht, um zu kriegen, was ich wollte, hier bin ich nach 10 Tagen noch nicht weiter. Ein Schelm, wer Schlechtes dabei empfände...

Naja, man sollte sich im klaren sein, dass AutoCAD und VBA ein bischen was anderes ist als ein Tastaturrecorder in M$-Office (hach, was bin ich heute aber bissig  ).

Die CommonDialogs stehen im Normalfall in dieser von Dir beschriebenen schier endlosen Liste (die übrigens nicht das geringste mit AutoCAD sondern vielmehr mit M$-VBA zu tun hat). Der genaue Name lautet bei mir (was bei Dir allerdings ganz anders sein kann) "Microsoft Common Dialog Control 6.0 (SP3)". Keine Ahnung, ob das uptodate ist, es funktioniert zumindest (und das nicht nur bei mir).

Falls Du es nicht finden kannst, kann ich Dir auch nicht weiterhelfen (Bin ja kein Programmierer oder Softwareprofi).

Doch allen, die da mehr Ahnung haben solltest Du in Deinem Profil ein paar Zusatzinfos über Deine eingesetzte Hard- und Software angeben (könnte ja sein, dass gewisse Dinge bei älteren Versionen nicht unterstützt werden).

So long, viel Erfolg beim "Speichern unter"
Hübi

P.S. Vielleicht gibt's ja im Officepaket bald ein CAD-Programm 

------------------
Schaun ma mal, dann seng ma scho.... 

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

wwwilli
Mitglied
Ingenieur


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

Beiträge: 305
Registriert: 21.03.2006

ACAD MAP 3D 2009.
VestraCAD.
Win XP SP3, FD 150 GB, Pentium4, 3,2 GHz, 4 GB.

erstellt am: 27. Mrz. 2006 14:29    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,
ächz, acker, maloch, schwitz.
Es geht voran.

Jetzt sag mir noch bitte, wie es hinter "call" weitergeht. Ich habe noch nie mit Userforms gearbeitet und habe keine Ahnung, wie die benannt oder angesprochen werden wollen.
MfG
vom immer optimistischen
wwwilli

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

Carsten1210
Mitglied
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: 1096
Registriert: 24.07.2002

ACA 2011 / Solidworks 2011 SP3.0
Solidworks EnterprisePDM 2011 SP2.0
Windows 7
Core i7 2600K , 8192MB
Nvidia Quadro FX 3800
2x Apple Cinema Display 23"

erstellt am: 27. Mrz. 2006 14:44    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 wwwilli,

Userformen (Formulare) werden wie folgt aufgerufen:

Name.show

Wobei der Name, der Name ist den du dem Formular zugewiesen hast. Standardmäßig ist hier Userform1 usw. vorgegeben.
Vielleicht doch öfter mal F1 drücken?

Gruß, Carsten

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

Huebi
Mitglied
Vermessungsing.


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

Beiträge: 107
Registriert: 08.01.2004

Intel Core Duo E6750@2.66GHz
NVIDIA GeForce 8600 GT
AutoCAD 2004, 2007, 2008
AcadMAP 2004 und 2007
Civil 3D 2008
ADT 2009

erstellt am: 27. Mrz. 2006 14:47    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
Servus Willi,

benutz doch mal ein starkes Deo - ich kann's ja förmlich riechen, wie Du schwitzt.

Schön, dass es doch klappt  , aber ein bischen musst Du schon noch selber suchen (und auch finden)

"call" war der falsche Aufruf. Ein Formular startet man natüüürlich mit ".show"

Also: Nemen wir mal an, Dein Formular hat den wunderschönen Namen: "Saveas_dwg" dann rufst Du das Formular mit dem Befehl "Saveas_dwg.Show" auf.
Falls es allerdings nur schnöde "UserForm1" heißt, sollte es mit "UserForm1.Show" klappen.
Die Einstellungen der Variablen des CommonDialog (wie von Carsten beschrieben) sind eigentlich ziemlich selbsterklärend. Das musst Du Dir halt an Deine Bedürfnisse anpassen.

Und wenn Dein "Speichen unter" klappt, möchte ich das Freibier ploppen hören!!!!

Mit den besten Empfehlungen
Hübi

------------------
Schaun ma mal, dann seng ma scho.... 

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

Anzeige:

Anzeige: (Infos zum Werbeplatz >>)

Dieses Thema ist 6 Seiten lang:   1  2  3  4  5  6

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)2011 CAD.de
-