Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Try-Catch in Verbindung mit If (Problem)

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

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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:  Try-Catch in Verbindung mit If (Problem) (208 mal gelesen)
chense
Mitglied
Konstrukteur


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

Beiträge: 71
Registriert: 14.04.2020

Inventor 2019 auf Windows 10
Intel Xeon E5-1630, 3,7Ghz
Nvidia Quadro P4000
32GB Ram

erstellt am: 30. Jun. 2023 08:58    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 zusammen, ein besserer Titel ist mir leider nicht eingefallen.

Ich habe nachfolgenden Code der in einer Schleife über alle Bauteile einer Baugruppe abläuft

Code:

Try
If iProperties.Value(oFileInfo.Name, "Project", "Cost Center") = "" Or iProperties.Value(oFileInfo.Name, "Project", "Checked By") = "" Or iProperties.Value(oFileInfo.Name, "Project", "Date Checked") = checkdate0
ThisDoc.Launch(orefdocname)
End If
Catch
MessageBox.Show("Dokument " & orefdocname & " konnte nicht geöffnet werden!" & vbCrLf & "Bitte manuell öffnen!", "Fehler beim Öffnen", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

Ziel ist es alle Dokumente zu öffnen, denen eine Freigabeinformation fehlt. Das funktioniert auch soweit so gut, allerdings soll die Fehlermeldung nur kommen, wenn eine Datei wirklich nicht geöffnet werden kann (gibt da so ein paar nervige Zukaufteile bei uns die das nicht wollen).

Stattdessen habe ich folgendes Verhalten:
- Wird in einer lokalen Datei ausgeführt: Funktioniert wie gewünscht
- Wird in einer Baugruppe im Netzwerk ausgeführt: Die Fehlermeldung erscheint auch bei jedem Teil das ein Kriterium der IF-Schleife erfüllt und damit nicht geöffnet werden soll

------------------
Für jede Fehlermeldung gibt es eine Lösung

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 718
Registriert: 19.09.2007

Inventor Professional 2020
WinX

erstellt am: 30. Jun. 2023 10:24    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 Nur für chense 10 Unities + Antwort hilfreich

So richtig kapiere ich das noch nicht. Trotzdem versuch ich es mal:
Im Grunde bedeutet die Meldung ja auch nur, dass im Try-Block ein Fehler auftrat. Wo genau weiß man erst mal nicht. Also ist mein Vorschlag das Try zu zerstückeln oder auf die Zeile mit .Launch(...) zu beschränken. Dann bekommst Du zumindest eine Fehlermeldung, wenn beim Lesen der iProp was schief geht.

etwa:

Code:
Dim bToOpen as Boolean = False
If iProperties.Value(oFileInfo.Name, "Project", "Cost Center") = "" Then bToOpen = True
If iProperties.Value(oFileInfo.Name, "Project", "Checked By") = "" Then bToOpen = True
If iProperties.Value(oFileInfo.Name, "Project", "Date Checked") = checkdate0 Then bToOpen = True

Try
If bToOpen then ThisDoc.Launch(orefdocname)
Catch
' [...]
End Try


------------------
Gruß KraBBy

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2505
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 30. Jun. 2023 17:28    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 Nur für chense 10 Unities + Antwort hilfreich

Moin

Was ist oFileInfo und was ist orefdocname? Deklaration und Inhalt der Variablen zur Laufzeit kontrollieren.
Möglicherweise wird einmal ein UNC-Pfad benutzt und einmal ein gemapptes Laufwerk. Das kann Unterschiede in den Zugriffsrechten bedeuten.
Wenn man die Catch Anweisung etwas erweitert bekommt man da auch mehr Infos heraus. Die Möglichkeiten der Exception Klasse findest du hier

Code:

Try
    .....
Catch ex As Exception
    MessageBox(ex.Message)
End Try


------------------
MfG
Ralf

RKW Solutions GmbH
www.RKW-Solutions.com

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

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

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)2024 CAD.de | Impressum | Datenschutz