| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | | | PNY WIRD VON NVIDIA ZUM HÄNDLER DES JAHRES GEWÄHLT, eine Pressemitteilung
|
Autor
|
Thema: Schriftfelddefinition bearbeiten (999 / mal gelesen)
|
lumb Mitglied Informatiker
Beiträge: 60 Registriert: 17.02.2011 Inventor2015
|
erstellt am: 22. Dez. 2016 16:02 <-- editieren / zitieren --> Unities abgeben:
Guten Tag, ich habe folgenden Code, welcher in einer Zeichnung in den Bearbeitungsmodus des Schriftfeldes geht. Code: Sub Test()Dim oDoc As DrawingDocument Set oDoc = ThisApplication.ActiveDocument ThisApplication.SilentOperation = True Dim oSheet As Sheet Set oSheet = oDoc.ActiveSheet Dim tbd As TitleBlockDefinition Set tbd = oDoc.TitleBlockDefinitions(oSheet.TitleBlock.Name) Dim oSketch As DrawingSketch Set oSketch = tbd.Sketch Call tbd.Edit(oSketch) End Sub
Das funktioniert soweit gut, auch wenn der Schriftkopf zB ein verlinktes Bild beinhaltet welches nicht mehr existiert. Nur bei der im Anhang befindlichen Datei, bei welcher auch ein Bild im Schriftkopf war, welches nicht mehr existiert geht es nicht. Der Code stürzt bei der Zeile Code: Call tbd.Edit(oSketch)
ab. (siehe Fehlerbild im Anhang Kann da jemand die Ursache für sehen? DANKE Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BernoAn Mitglied
Beiträge: 172 Registriert: 16.01.2014
|
erstellt am: 02. Jan. 2017 11:31 <-- editieren / zitieren --> Unities abgeben: Nur für lumb
|
DerBrain87 Mitglied Mathematiker
Beiträge: 86 Registriert: 29.04.2015 Inventor 2021
|
erstellt am: 07. Feb. 2017 11:38 <-- editieren / zitieren --> Unities abgeben: Nur für lumb
Hallo, funktioniert es, die idw manuell zu editieren oder meckert die DIVA da auch? Von Code: on error resume next
würde ich allgemein eher abraten. Diese Zeile besagt, wenn du etwas nicht hin bekommst, lass es sein und mach einfach mit der nächsten Zeile weiter. Dies hätte in deinem Fall voraussichtlich die Auswirkung, dass zwar keine Fehlermeldung mehr kommt, dein Code aber nix macht. Ein kleines Beispiel. Ich gebe dir folgende Aufgaben: - Nimm das Buch XY aus dem Regal - Schlage es auf Seite 10 auf - ließ den ersten Satz laut vor Nun nehmen wir an, es gibt dieses Buch XY garnicht. Dann gehst du zum Regal, suchst nach dem Buch und willst mir zwar gerne sagen "hey du, das Buch ist nicht da" wirst aber durch das 'resume next' genötigt einfach weiter zu machen. Ergo, du versuchst das Buch, das du nicht in der Hand hast aufzuschlagen und siehe da, es geht nicht. Danke 'resume next' schluckst du die Fehlermeldung und machst wieder weiter... Ich denke du merkst warum ich kein Fan von 'on error resume next' bin:-) Gruß DerBrain87 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bkrüger Mitglied Konstrukteur
Beiträge: 51 Registriert: 14.09.2014 Win10 IV2018 Vault2018-WG
|
erstellt am: 07. Feb. 2017 18:04 <-- editieren / zitieren --> Unities abgeben: Nur für lumb
Hallo BernoAn, on error resume next NUR in Verbindung mit einer durchdachten Fehler-Abfang-Strategie (die ohne on error.. nicht möglich wäre). D.h. im einfachsten Fall err.number<>0 auswerten, ggf. err.description in der msgbox anzeigen, diese dann mit der weitermach/abbruch-Option versehen, usw. usf.. Ansonsten... wird on error resume next - im Fehlerfall dazu führen, dass die Sub oder Function kommentar-, sang- und klanglos abgebrochen und zum Aufrufer zurückgekehrt wird. Wenn das "tief drinnen" im Programmcode passiert ist das äußerst ärgerlich - entweder fallen solche Fehler erst spät, oder noch schlimmer - gar nicht auf. Unerkannte Fehlfunktionen ist das letzte was man sich wünscht... Gruß Boris Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
lumb Mitglied Informatiker
Beiträge: 60 Registriert: 17.02.2011 Inventor2015
|
erstellt am: 20. Feb. 2017 10:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, wenn der Befehl manuell aufgerufen wird, kommt eine Meldung dass die Datei nicht gefunden wurde. Diese Meldung kommt aber bei allen Dateien die davon betroffen sind, der Code stürzt aber nur bei dieser Datei ab... Ist die Datei vorhanden, funktioniert der Code. Habe es jetzt so gelöst, dass ich die Datei temporär wiederhergestellt habe damit der Code funktioniert. Danke für Eure Hilfe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|