Hola an alle, habe nochmal eine Frage.
Ist es möglich aus Excel heraus eine DWG Datei zu öffnen? Folgende Lage habe ich: Einen Ordner(Maschine A) in dem sich die Excel Mappe (Maschine A) befindet und ein Ordner (DWG) in dem sich die Zeichnungen befinden. In dem DWG Ordner haben alle Zeichnungen vom Namen her das gleiche Muster (0001 – Name bis z.B. 9999 – Name). Jetzt würde ich gerne in meiner Excel Mappe (Maschine A) in Zelle M8 eine Funktion/Makro haben das wenn man dort z.B. 55 eingibt und das Makro startet, das Makro den Ordner DWG nach den ersten 4 Stellen des Namens durchsucht und die Datei dann öffnet. Für mich ist es nicht ganz so wichtig ob Autocad dafür geöffnet sein muß oder nicht. Wäre natürlich schön wenn es nicht nötig wäre und das Makro das gleich mit macht.
Danke an alle für die Hilfe.
Carsten
Danke dir. Aberdas ist nich das was ich suche. Ich könnte es auch über einen Hyperlink machen, aber ich würde gerne das das Makro für mich sucht und öffnet. Eben wie oben beschrieben. Ich weiss nich ob das so möglich ist und deswegen meine Frage hier im Forum. Ich möchte in die Zelle M8 die 4stellige Nummer eingeben und das Makro durchsucht den Ordner mit den Zeichnungen nach den ersten 4 Stellen und wenn es fündig geworden ist öffnet es die Zeichnung und wenn nicht kommt z.B. eine Box die sagt Zeichnung existiert nicht. Danke dir für deine Mühe
Carsten
Ist mir schon klar was du willst,
aber hier ist ja auch nur hilfe zur selbsthilfe angesagt,
damit öffnest du jedenfalls die datei
dann brauchst du nur noch nach ein directory filter suchen.
google halt .mal . vba gibts 1000 beispiele dazu
Hallo Carsten,
also, wenn ich dich richtig verstanden habe, versuchs mal hiermit. Kopiere den Code in den Codebereich von deinem Tabellenblatt.
In der 3. Zeile (Const …) musst du noch den genauen Pfad zu deinem Autocad-Programm eintragen.
Außerdem geht der Makro davon aus, dass das Verzeichnis DWG und das Verzeichnis Maschine A im selben Überordner stehen.
Weitere Bedingung ist, dass im DWG-Verzeichnis immer nur eine Datei vorhanden ist, die dem Muster entspricht:
Vierstellige Zahl, die du in Zelle M8 eingibst
Dann noch irgendwas, oder garnichts
Dann .DWG, groß oder klein geschrieben.
Wenn diese Bedingungen erfüllt sind, sollte es mit diesem Makro klappen. Immer wenn der Wert in M8 geändert wird, wird eine Datei geöffnet.
Private Sub Worksheet\_Change(ByVal Target As Range)
Dim fileNum As String, pfad As String
Const autocad As String = "hier muss der genaue Pfad zu deinem AutoCad rein"
' also z.B. "C:\Oberverzeichnis\Unterverzeichnis\autocad.exe"
If Target.Address "$M$8" Then Exit Sub
fileNum = Format(Target, "0000")
pfad = Left(ActiveWorkbook.FullName, InStrRev(ActiveWorkbook.FullName, "\") - 1)
pfad = Left(pfad, InStrRev(pfad, "\")) & "DWG\"
datei = Dir(pfad & fileNum & "\*.DWG")
If datei = "" Then
MsgBox "Keine Datei gefunden"
Exit Sub
End If
Shell autocad & " " & pfad & datei, vbNormalFocus
End Sub
Gruß, Andreas
Danke dir Andreas. Werde es probieren und dann Bescheid geben.
Carsten
Hola Andreas, nach einer kleinen Änderung klappt es. Jetzt muß ich nur noch herausfinden warum mir mein Autocad die Fehlermeldung „Datei nicht gefunden“ anzeigt. Danke für deine Hilfe. Das bringt mich auf jeden Fall schon mal weiter. Carsten
HI Carsten,
kommt die Fehlermeldung vom autocad oder schon vom Shell-Kommando?
Du kannst auch mal den Makro mit F8 im Einzelschrittmodus laufen lassen und dir dabei den Inhalt der Variablen anschauen. Vielleicht hilft dir das weiter.
Gruß, Andreas