Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1716to1720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

BuiltinDocumentProperties(9).value prüfen

BuiltinDocumentProperties(9).value prüfen
24.10.2019 01:31:44
Ingo
wie kann ich das BuiltinDocumentProperties(9) print date überprüfen ohne dass es eine exception gibt.
null, nothing funktioniert nicht .
On Error goto ... wird wahrscheinlich, halte ich aber echt für einen schlechten Scherz wenn man das nicht anders abfragen kann.
Falls dafür jmd eine Lösung hat, bitte posten.

For Each p In ThisWorkbook.BuiltinDocumentProperties
i = i + 1
If InStr(p.Name, " print date") Then
'nothing
' hier sollte statt anstelle auf print date auf BuiltinDocumentProperties(0) auf
keine wert ... bzw noch gar nicht benutzt reagiert werden
Else
wert = ThisWorkbook.BuiltinDocumentProperties(i)
End If
Debug.Print "nr.:" & i & " Text: " & p.Name & " Wert:" & wert
Next
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: BuiltinDocumentProperties(9).value prüfen
24.10.2019 08:40:53
EtoPHG
Hallo Ingo,
Wieso GoTo, geht doch auch ohne:
Option Explicit
Sub listBIDP()
Dim dP As DocumentProperty
Dim lX As Long
Dim vXValue As Variant
On Error Resume Next
For Each dP In ThisWorkbook.BuiltinDocumentProperties
lX = lX + 1
vXValue = ThisWorkbook.BuiltinDocumentProperties(lX)
Err.Clear
Debug.Print lX & " " & dP.Name & _
" =[" & IIf(vXValue = vbEmpty, "vbEmpty", vXValue) & "]"
Next dP
End Sub
Gruess Hansueli
AW: BuiltinDocumentProperties(9).value prüfen
25.10.2019 22:43:08
Ingo
Danke erstmal, auch wenn es leider nicht meine frage war.
also zum ein ich kenne auch das on error resume, in beiden fällen gibt es eine Exception die aber abgefangen wird.
exceptions sind ausnahmen und sollten daher auch so genutzt werden sowohl auf der seite der wo eine ausnehme geworfen wird oder ein alternative Behandlungsfunktion damit nutzt.
Ich hatte dazu schon mal einen thread zur prüfung von ungültigen objekten, da wurde ich aber nicht verstanden und gab mich damit zufrieden wie eigenen bibliotheken ohne unnötige exception schreiben und aufrufen kann, weil mir gerade microsoft-funtionen entfallen waren wo auch der einzige Vorschlag immer ein Exception war.
Hier ist aber wieder so ein Fall.
Ein BuiltinDocumentProperties liefert einen Wert zurück oder auch nicht, das ist normales Verhalten keine Ausnahme und dabei ist es unerhbelich ob das mit einem initialwert realisiert worden ist oder anders.
Eine Exception ware fehlerafter speicher, korrupter Datenblockerkannt durch prüfsumme etc.
Das es auf entwicklerseite gründe geben kann dieses so zu realisieren kann ist mit sicherheit auch richtig.
Dieser fall tritt bei jeder regular erstelleten datei auf ist somit ein Normallfall und sollte daher ohne excptionhandling ausgelesen werden.
Wenn dieser und andere Fälle so sind, ist das aus meiner Sicht von microsft auch nicht sauber umgesetzt.
Daher noch mal die ob man dieses auch ohne excpetion handling irgewie auf ungültigkeit prüfen und darauf reagieren kann.
wenn das nicht möglich, kann mir jmd sagen wie ich diese unbestzen properties bestzten kann per vba damit ich einen sicheren zustand habe.
Für das Feld 9 habe ich eine simple Lösung, indem ich einen Dummy Druckauftrag erstelle.
Aber bei 14 -16, 22-28 und 30 mpssen ich noch rausfinden wie die statistikfelder besetzen kann.
Anzeige
Dazu nur soviel,...
26.10.2019 17:33:05
EtoPHG
Ingo,
Offensichtlich hast du ein paar Grundlagen der Programmierung im allgemeinen und Excel/VBA im speziellen nicht begriffen.
Es gibt nicht nur definierte Zustände wie 0 und 1 sondern auch undefinierte (nämlich nix, nichts, nada, niente, null, nirwana, uninitialisiert, noch nie benutzt...et cetera). Um einen solchen Zustand handelt es sich in besagtem Fall und keine Geiss schleckt darum die Exception weg.
Deine Behauptung: Ein BuiltinDocumentProperties liefert einen Wert zurück oder auch nicht, das ist normales Verhalten keine Ausnahme und dabei ist es unerhbelich ob das mit einem initialwert realisiert worden ist oder anders. ist falsch.
Aus der MS-Office-VBA-Reference: Container applications aren't required to define values for every built-in document property. If Microsoft Excel doesn't define a value for one of the built-in document properties, reading the Value property for that document property causes an error.
Gruess Hansueli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige