Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA GetDetailsOf - Fragezeichen in Daten

Forumthread: VBA GetDetailsOf - Fragezeichen in Daten

VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 09:01:03
Joschi Witchcraft
Hallo Forum,

Ich lese mit "GetDetailsOf" verschiedene Informationen zu einer angegebenen File aus. Im aktuellen Fall ist es eine JPG-File, und mich interessiert das Aufnahmedatum (ITem(12)).

Wenn ich die ausgelesene Information in eine Zelle meiner Tabelle übertrage, sieht alles gut aus. Wenn ich aber die Daten innerhalb VBA weiterverarbeiten möchte, habe ich ein Problem: Das Aufnahmedatum wird mir als "?10.?12.?2022 ??09:18" zur Verfügung gestellt.

Welche Bedeutung haben die Fragezeichen?

Gruß Joschi
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 09:16:54
Alwin Weisangler
Hallo Joschi,

das Thema unsichtbare Zeichen und wie man diese los wird hatten wir schon mal miteinander hier bei Herber (glaube ich mich daran zu erinnern). Schau dir den damaligen Thread an.
Schau mal unter "Deine Threads" nach.

Gruß Uwe
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 09:53:01
Oberschlumpf
Hi,

oder du könntest auch per Upload...
- eine Bsp-Datei mit deinem Code zeigen
- und auch eine Bsp-Grafikdatei, bei der beim VBA Auslesen auch ? vorkommen

Dann sehen wir nämlich auch, was du bisher nur beschriebenm hast.

Ciao
Thorsten
Anzeige
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 10:12:44
volti
Hallo,

die Fragezeichen sind keine Fragezeichen sondern das Zeichen 0 (CHR$(0))

Kann man auch mit einem HEX-Editor nachsehen. Mit diesem z.B.
https://www.clever-excel-forum.de/Thread-HEX-Editor

In meinem Fototool habe ich das einfach so gelöst, kann man sicher auch mit Replace machen...
https://www.clever-excel-forum.de/Thread-Foto-und-Medienmanager

Nur ein Ausschnitt.....
Code:


Private Function GetFileDetails(sPath As String, sFile As String) As String ' Funktion ermittelt einige Datei-Parameter und bereinigt sie um unnötige Zeichen Dim oFile As Object, i As Integer With CreateObject("Shell.Application").Namespace(CVar(sPath)) Set oFile = .ParseName(sFile) ' 32 Firma, 30=Kamera-Typ, 31=Auflösung, 12 Aufnahmedatum ' 11 Video/Musik, 16 Intepret, 27 Länge, 165/194 Titel, 169 Datei-Typ msFirma = .getdetailsof(oFile, 32) ' Hersteller msKamera = .getdetailsof(oFile, 30) ' Kameratyp msTyp = .getdetailsof(oFile, 11) ' Typ: Video, Musik, Foto msTitel = .getdetailsof(oFile, 21) ' Titel des Songs msZeit = .getdetailsof(oFile, 27) ' Länge des Songs msDatTyp = .getdetailsof(oFile, 194) ' Länge des Songs If msKamera <> "" Then If Not msKamera Like Split(msFirma)(0) & "*" Then _ msKamera = msFirma & " " & msKamera End If msPixel = .getdetailsof(oFile, 31) ' Auflösung msHochBreit = .getdetailsof(oFile, 316) & " x " & .getdetailsof(oFile, 314) msDatenrate = .getdetailsof(oFile, 313) & ", " & .getdetailsof(oFile, 315) msBitrate = .getdetailsof(oFile, 28) If Len(msPixel) > 2 Then msPixel = Mid$(msPixel, 2, Len(msPixel) - 2) GetFileDetails = .getdetailsof(oFile, 12) ' Aufnahmedatum zurückgeben msAufnahmedatum = "" For i = 2 To Len(GetFileDetails) If Mid$(GetFileDetails, i, 1) <> Chr$(0) Then _ msAufnahmedatum = msAufnahmedatum & Mid$(GetFileDetails, i, 1) Next i End With End Function

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 10:28:52
peter
Hallo

Es sind Unicode Steuerzeichen U+200F bzw. U+200E (siehe auch den Beitrag den Alwin schon erwähnt hatte)

https://www.herber.de/forum/archiv/1944to1948/1947240_VBA_Probleme_mit_der_Funktion_Replace.html

Folgender Code funktioniert bei mir



mystr = objFolder.GetDetailsOf(objFile, 12)
mystr=Replace(Replace(mystr, ChrW(8206), ""), ChrW(8207), "")


Peter
Anzeige
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 14:01:40
Joschi Witchcraft
Ich möchte mich an dieser Stelle bei Allen bedanken, die mir bisher geantwortet haben.

Wenn ich mir das Ergebnis von Item(12) hexadezimal ausdrucke, erhalte ich folgendes:

3F 31 30 2E 3F 31 32 2E 3F 32 30 32 32 20 3F 3F 30 39 3A 31 38
mit Debug.Print: ?10.?12.?2022 ??09:18

Es ist (bei mir) also kein X"00" enthalten. Danach hatte ich schon gesucht, bevor ich die Frage im Forum gestellt hatte.

Mein Befehl: Test = .GetDetailsOf(.Items.Item(File), 12)

Gruß Joschi
Anzeige
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 14:12:01
peter
Hallo

Ich hab Die schon eine Lösung gegeben aber trozdem: probier mal folgendes (und staune):



mystr = objFolder.GetDetailsOf(objFile, 12)
For i = 1 To Len(mystr)
Debug.Print AscW(Mid(mystr, i, 1));
Next


Peter
Anzeige
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 14:40:05
volti
Hallo Joschi,

das ist doch genau das gleiche wie Dein Text und bringt m.E. nix.

Debug.print &H3F entspricht dem 63. ASCII-Zeichen und das ist das Fragezeichen.

In der Datei selbst sieht das ganze mit einem HEX-Editor angesehen schon anders aus. Da gibt es (bei mir) keine Fragezeichen und z.B. vor dem Jahr steht ein Null-Zeichen...

Gruß
Karl-Heinz


Anzeige
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 14:44:24
Joschi Witchcraft
Hallo Peter.

Ich habe Deinen Vorschlag schon gesehen. Aber weil in dem besagten Feld tatsächlich der Code für das Fragezeichen stand, habe ich das nicht als Lösung für mein Problem gesehen.

Jetzt kenne ich die Lösung und damit ist mein Problem gelöst. Trotzdem verstehe ich nicht, warum mir X"3F" angezeigt wird, aber mit ChrW(8206) erkannt wird.

Und dann muss ich mich noch bei Uwe und Thorsten entschuldigen. Da gab es doch tatsächlich eine alten Thread, und der war sogar von mir eröffnet worden. Nur: bei dem damaligen Problem ging es nur um Werte bis X"1F".

Gruß - und nochmals "Danke"

Joschi

Anzeige
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 09:48:08
Joschi Witchcraft
Hallo Uwe.

Ich kann mich nicht daran erinnern, diese Frage schon einmal gestellt zu haben, Außdem: was hat ein Fragezeichen mit "unsichtbaren Zeichen" zu tun.

Gruß Joschi
AW: VBA GetDetailsOf - Fragezeichen in Daten
07.10.2024 10:43:55
Alwin Weisangler
Hallo Joschi,

Es ist vielleicht etwas her, da war schon mal dieses Problem vom wem auch immer gefragt und u.A. von auch mir beantwortet worden --> sei's drum.
So wie bereits geschrieben sind es unsichtbare Zeichen. Diese werden im Hex-Editor sichtbar. VBA stellt diese als Fragezeichen im Editor dar.
In deinem Fall hast du schon die entsprechenden Chr() von den Kollegen erhalten, so dass sich mir die nochmalige Suche danach ersparen kann.

Gruß Uwe
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige