| |
 | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 |
| |
 | KISTERS 3DViewStation optimiert die Lizenzverwaltung für ihre Kunden, eine Pressemitteilung
|
Autor
|
Thema: Bild in Excel einfügen über CATIA Makro (6403 mal gelesen)
|
Animexx Mitglied

 Beiträge: 15 Registriert: 15.08.2008 Windows XP SP2 Catia V5 R19 Visual Studie 2008 Pro
|
erstellt am: 12. Sep. 2008 17:52 <-- editieren / zitieren --> Unities abgeben:         
Hallo Leute, ich bin unerfahrener Makroprogramierer. Hab folgendes Problem:
Ich hab eine Bilddatei in einem bestimmten Verzeichnis, dieses möchte ich gerne über CATIAMakro (.catvbs) in eine Excel Tabelle einfügen und komme nicht weiter. Bitte Euch um Hilfe. Wo kann ich einen Überblich über die zur Verfügung stehende Befehle bekommen? Danke Euch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ

 Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 12. Sep. 2008 18:22 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
...ich habe Benzin in einen Benzintank und möchte es über einen Tankschlauch (ist ein Tankschlauch für Flugzeuge^^) in ein Pkw einfüllen und weiss nicht wie ... hmm, ich würde sagen: versuche es mit einem Tankschauch für PKWs, ist vielleicht einfacher ;-) Anders ausgedrückt, Warum nicht Excel für diese Aufgabe nehmen? und dort die Routine schreiben? BTW: in der Excelrubrik existieren schon Threads, wie man Bilder aus einem Verzeichnis einbindet (VBA). [Diese Nachricht wurde von Thomas Harmening am 12. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Animexx Mitglied

 Beiträge: 15 Registriert: 15.08.2008 Windows XP SP2 Catia V5 R19 Visual Studie 2008 Pro
|
erstellt am: 12. Sep. 2008 18:54 <-- editieren / zitieren --> Unities abgeben:         
Ich hab bis jetzt folgenes im Makro stehen: Sub CATMain() Dim TempPfad TempPfad="C:\" Dim fso Set fso=CreateObject("Scripting.FileSystemObject") Dim Dateiname Dateiname=fso.GetTempName() TempPfad=TempPfad+Dateiname+".bmp" Dim Viewer1 Set Viewer1=Catia.ActiveWindow.ActiveViewer Viewer1.Update Viewer1.CaptureToFile catCaptureFormatBMP,TempPfad
Dim xlApp Set xlApp = CreateObject("Excel.application") If xlApp is Nothing Then Exit Sub xlApp.Visible = True ' Excel anzeigen xlApp.Workbooks.add
End Sub
Damit wird ein Bild von CATIA gemacht und auf c:\ gespeichert. Dieses Bild möchte ich jetzt mit dem selben Makro in Excel einfügen (Weiß aber nicht wie^^). Würde ich es in PowerPoint einfügen wollen dann müsste ich noch: Dim pptSlideRange Set pptSlideRange=PowerPoin.ActiveWindow.Selection.SlideRange Dim pptShapes Set pptShapes=pptSlideRange.Shapes Dim pptShape Set pptShape=pptShapes.AddPicture (TempPfad,True,True,70,70) dazu schreiben. Was muss ich analog dazu für excel schreiben? Danke [Diese Nachricht wurde von Animexx am 12. Sep. 2008 editiert.]
[Diese Nachricht wurde von Animexx am 12. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau

 Beiträge: 8086 Registriert: 09.03.2006 Drauß vom Walde komm ich her, verlaufen hab ich mich gar sehr ;-)
|
erstellt am: 12. Sep. 2008 19:41 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
N'Abend, Zitat: Original erstellt von Animexx: [...]Ich hab eine Bilddatei in einem bestimmten Verzeichnis, dieses möchte ich gerne über CATIAMakro (.catvbs) in eine Excel Tabelle einfügen[...] Damit wird ein Bild von CATIA gemacht und auf c:\ gespeichert. Dieses Bild möchte ich jetzt mit dem selben Makro in Excel einfügen
hmm, hast Du den wink von Thomas verstanden? guck mal in folgende threads rein: http://ww3.cad.de/foren/ubb/Forum226/HTML/000515.shtml#000012 http://ww3.cad.de/foren/ubb/Forum226/HTML/000519.shtml und bei Hajo (ungetestet, aber Hajo weiß im Normalfall, was er tut ;-) ) Kommst Du mit den dort gefundenen Schnipseln weiter? Außerdem helfen zur Syntaxfindung bestimmt folgende Suchbegriffe bei google weiter: vba excel bilder einfügen Shapes hat Excel auch, SlideRanges nicht, ist also ne reine Vokabelfrage... Such im VBA-Editor von Excel -> F1, denn Du suchst die passenden Excel-Vokabeln. Noch was Allgemeines: Ich weiß nicht, wie es in Catia ist, aber ich kenne es so, dass Variablen grundsätzlich oben im code deklariert werden und dann nach Möglichkeit auch richtig, also sowas wie Dim strPfad as String und nicht mittendrin, wenn sie das erste Mal verwendet werden. Versuch Dir sowas von Anfang an anzugewöhnen. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info Excel -Suche RuA-Suche FAQ-ACAD Hilfe zu CAD.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ

 Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 12. Sep. 2008 22:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
hmm, irgendwie habe ich es doch gespürt, dass das Bild im Verzeichnis nicht nur einfach herumliegt, sondern kurz vorher in der *.catvbs erzeugt wird... ... und da hatte ich zwei Möglichkeiten, greife ich vor und interpretiere oder gebe ich mal eine Antwort rein auf Basis der Aufgabenstellung. ungetestet, da kein Catia vor Ort ;-) aber untenstehender Code läuft zumindest in Excel.
Code: Sub schnippselbild()Set xlApp = CreateObject("Excel.application") If xlApp Is Nothing Then Exit Sub xlApp.Visible = True ' Excel anzeigen xlApp.Workbooks.Add Set bildtest = xlApp.ActiveSheet.Shapes.AddPicture("C:\Dokumente und Einstellungen\All Users\Dokumente\Eigene Bilder\Beispielbilder\Winter.jpg", True, True, 70, 1, 200, 200) 'Function AddPicture(Filename As String, LinkToFile As MsoTriState, SaveWithDocument As MsoTriState, Left As Single, Top As Single, Width As Single, Height As Single) As Shape End Sub
BTW auf "c:\" zu speichern -ein Frevel, root sollte immer sauber bleiben und "C:\tmp" ist nicht aufwändiger;-) BTW² Catia kann auch als png speichern, kein Kompressionsverlust und Platzsparender als bmp ;-) Nachtrag: ;-) BTW³ die V5 Capture-Funktion ist mir persönlich zu langsam, ich verwende lieber Hardcopy, das lässt sich auch so einstellen, das der gewünschte Bildausschnitt gleich in eine Office-Applikation eingefügt wird  @Rübe, bin ganz verwundert dich hier zu lesen, muss mal einen Gegenbesuch machen*g* [Diese Nachricht wurde von Thomas Harmening am 12. Sep. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Animexx Mitglied

 Beiträge: 15 Registriert: 15.08.2008 Windows XP SP2 Catia V5 R19 Visual Studie 2008 Pro
|
erstellt am: 13. Sep. 2008 11:15 <-- editieren / zitieren --> Unities abgeben:         
|
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau

 Beiträge: 8086 Registriert: 09.03.2006 Drauß vom Walde komm ich her, verlaufen hab ich mich gar sehr ;-)
|
erstellt am: 13. Sep. 2008 11:20 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
|
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ

 Beiträge: 2897 Registriert: 06.07.2001 NX 10 Win 7
|
erstellt am: 13. Sep. 2008 13:59 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
Zitat: Original erstellt von Animexx: @Rübe, bin ganz verwundert dich hier zu lesen, muss mal einen Gegenbesuch machen*gHe? Versteh ich nicht, wie du es meinst. [Diese Nachricht wurde von Animexx am 13. Sep. 2008 editiert.]
Was verstehst du nicht, wie ich es meine? Sicherlich nicht die Antwort an @Runkelrübe, die Antwort @Rübe war ja auch nur für @Runkelrübe gedacht -symbolisiert durch das @ Wenn es der Code ist, dann bitte präzisier werden was nicht funktioniert und nicht noch einen weiteren Thread im VBasic / vb.net / vbs / wsh Forum eröffnen. Die meisten die hier helfen wollen, sind auch bemüht zu helfen und eine weitere Threaderöffnung in einem anderen Bereich, signalisiert dem Helfer nur, das die Hilfe hier fehl am Platz ist... Somit bin ich raus;-) eventuell hier nach excel Workbooks suchen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Animexx Mitglied

 Beiträge: 15 Registriert: 15.08.2008 Windows XP SP2 Catia V5 R19 Visual Studie 2008 Pro
|
erstellt am: 13. Sep. 2008 16:41 <-- editieren / zitieren --> Unities abgeben:         
|
Ex-Mitglied

|
erstellt am: 13. Sep. 2008 16:44 <-- editieren / zitieren -->
|
Animexx Mitglied

 Beiträge: 15 Registriert: 15.08.2008 Windows XP SP2 Catia V5 R19 Visual Studie 2008 Pro
|
erstellt am: 13. Sep. 2008 17:20 <-- editieren / zitieren --> Unities abgeben:         
Hab entsprechenden Eintrag gefunden: CatSpecsAndGeomWindowLayout (Enumeration) enum CatSpecsAndGeomWindowLayout { catWindowSpecsOnly, catWindowGeomOnly, catWindowSpecsAndGeom } Specification and geometry window layout. It is used by the SpecsAndGeomWindow object. ithEdg Values: catWindowSpecsOnly The specification tree viewer only is displayed catWindowGeomOnly The geometry 3D viewer only is displayed catWindowSpecsAndGeom The specification tree viewer and the geometry 3D viewer are both displayed jedoch weiß ich nicht wie ich es ansprechen soll. Hab folgendes eingegeben: Dim Viewer1 Viewer1 = CATIA.ActiveWindow.ActiveViewer Viewer1.Update() Dim Window1 Window1 = CATIA.activeWindow
Dim WindowLayout1 WindowLayout1 = Window1.Layout Window1.Layout = catWindowGeomOnly Das Programm meckert dass catWindowGeomOnly nicht deklariert ist. Was mach ich falsch?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied

|
erstellt am: 13. Sep. 2008 17:23 <-- editieren / zitieren -->
Zitat: Original erstellt von Animexx:
Das Programm meckert dass catWindowGeomOnly nicht deklariert ist. Was mach ich falsch?
Was könnte denn falsch sein, wenn CATIA meckert, daß eine Variable nicht definiert ist? By the way: Füll doch mal deine Systeminfo aus. ------------------ Meine Firma Wie stelle ich meine Fragen richtig? |
K-Volkmann Mitglied

 Beiträge: 60 Registriert: 19.06.2007 WIn XP64 Catia V5R19 SP3 HF60<P>Intel I7 3,4GH 16GB RAM , NVIDIA Quadro 4000 2048MB
|
erstellt am: 28. Jan. 2011 12:39 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
Hallo zusammen habe gerade den Code ganz oben von Animexx getestet. In catia läuft das makro und legt mir ein Bild auf C:\ ab Wenn ich den Code in Excel eingebe und starte bekomme ich eine Fehlermeldung Was muss an dem makro in Excel anders sein ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Jan. 2011 13:08 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
Servus da du von Excel aus arbeitest musst du CATIA als Application definieren. zB Code: dim CATIA Set CATIA = CreateObject("Catia.application")
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K-Volkmann Mitglied

 Beiträge: 60 Registriert: 19.06.2007 WIn XP64 Catia V5R19 SP3 HF60<P>Intel I7 3,4GH 16GB RAM , NVIDIA Quadro 4000 2048MB
|
erstellt am: 28. Jan. 2011 14:12 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
Hallo Danke funktioniert schon mal. Legt aus Excel eine Datei an. Die .bmt geht aber nicht zu öffnen ? muss ich noch eine .dll aktivieren ? geht das ganze auch als .jpg , und kann ich als ausgabe auch die einstellung ixelmodus umstellen ? im catia wird das Bild als Anzeigemodus erstellt Ich weiss viele Fragen, aber vieleicht kann mir jemand weiterhelfen, den ich kenne mich nicht wirklich gut aus. Merkt man auch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K-Volkmann Mitglied

 Beiträge: 60 Registriert: 19.06.2007 WIn XP64 Catia V5R19 SP3 HF60<P>Intel I7 3,4GH 16GB RAM , NVIDIA Quadro 4000 2048MB
|
erstellt am: 28. Jan. 2011 17:02 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
|
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Jan. 2011 19:13 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
Servus AFAIR kann man mit CaptureToFile keine Bilder im Pixelmodus erstellen. Workaround: Strukturbaum ausblenden, Hintergrundfarbe ändern, Bild erstellen, Baum wieder einblenden und Hintergrundfarbe zurückändern (siehe Forensuche) Ggf kannst du auch ein Bild direkt mit SaveAs erstellen Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K-Volkmann Mitglied

 Beiträge: 60 Registriert: 19.06.2007 WIn XP64 Catia V5R19 SP3 HF60<P>Intel I7 3,4GH 16GB RAM , NVIDIA Quadro 4000 2048MB
|
erstellt am: 29. Jan. 2011 21:52 <-- editieren / zitieren --> Unities abgeben:          Nur für Animexx
Hallo jetzt weiss ich warum mein Makro nur in Catia und nicht in Excel funktionierte. Nachdem ich bei den Verweissen bei allen Catia einen Hacken gesetzt hatte ging es. Ist wohl ein Anfänger Fehler, wusste gar nicht, daß ich diese Verweisse aktivieren muss Ende gut alles gut Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |