Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1260to1264
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

Nur druckbare Zeichen anzeigen lassen

Nur druckbare Zeichen anzeigen lassen
Reinhard
Hallo Wissende,
mit einer Schleife von 0-65535 kann ich mir für jede Schriftart mit ChrW() das jeweilige Zeichen
auflisten lassen.
Viel zu oft zeigt dann Excel bei mir nur ein Quadrat an, also Zeichen nicht darstellbar, quasi
nicht vorhanden in der jeweiligen Schriftart.
Jetzt möchte ich mir pro Schriftart nur dienigen Zeichen anzeigen lassen die auch druckbar sind.
Ich habe hier deshalb schon vor 2 Jahren ergebnislos angefragt.
Vielleicht klappts ja heuer mit einer Lösung *hoff*
danke ^ Gruß
Reinhard
es gibt doch die Funktion SÄUBERN
29.04.2012 00:09:08
WF
Hi,
wie man die in VBA integriert hab ich logischerweise keine Ahnung.
WF
AW: es gibt doch die Funktion SÄUBERN
29.04.2012 01:00:47
Reinhard
Hallo WF,
das bringt leider nix :-(
Ich habs mal in Vba gecodet, das ergibt den Code
Sub tt()
Dim Zei As Long
For Zei = 32 To 1000
Cells(Zei, 1).Value = ChrW(Zei)
Next Zei
Range("B32:B1000").FormulaLocal = "=SÄUBERN(A32)"
End Sub
Der Code ist gleichwertig wie wenn du in A die Zeichen hast und in B32 einfügst
=SÄUBERN(A32)
und nach unten kopierst.
Das Ergebnis siehste als Bild nachstehend.
Ich habe zwischenzeitlich Code gebastelt der von jeder Zelle in A ein Bild macht,
dieses in Irfanview (kostenloses Grafikprogramm) einfügt und abspeichert.
Danach werden diese ganzen Bilder geöffnet/überprüft ob sie Pixelmässig mit dem Bild eines
Quadrats übereinstimmen oder auch nicht.
das hat auch funktioniert bei vielen Zeichen.
ABER leider nicht bei allen :-( Und bei manchen Zeichen ist der Code abgestürzt.
Und bei 65536 Zeichen ist das sehr mühsam sich von fehlerhaftem Zeichen zum nächsten zu "hangeln".
Irgendie glaube ich sehr Excel bekommt durch die Vba anweisung zeige in Zelle X
das Zeichen 4711. Dann muß doch Excel irgendwoher die Information haben wie das Zeichen
angezeigt werden soll je nach Schriftart.
Ergo steckt die Information darüber mit Details darüber wie es angezeigt werden soll in der
.ttf der jeweiligen Schriftart.
Excel erkennt dann, aha, da sind Informationen wie ich die Bildpunkte setzen muß damit das Zeichen präsentiert werden soll.
Oder aber, irgendwie erkennt Excel daß es so Informationen nicht gibt und zeigt stattdessen
ein Quadrat an.
Insofern ist/war mein Gedanke so eine .ttf zu parsen. Ging aber schief.
Bytemäßig kann ich sie auslesen, habe auch schon nach dem Dateiformat von .ttfs geschaut.
Aber ich schaffte es mit etlichen Versuchen nicht mir da Code zu basteln
der meine Anfrageproblematik löst.
Deshalb meine Hoffnung, daß die vielen Besseren als ich hier Lösungen/Ansätze haben.
Gruß
Reinhard
Userbild
Anzeige
falsche Vorstellung?
29.04.2012 07:48:25
Erich
Hi Reinhard,
mit der Vorstellung
"Dann muß doch Excel irgendwoher die Information haben wie das Zeichen angezeigt werden soll je nach Schriftart."
wirst du Schiffbruch erleiden.
Excel kümmert sich nicht selbst um Anzeige oder Ausdruck - es lässt das von den zuständigen Spezialisten erledigen.
Ich gehe davon aus, dass Excel an das jeweilige Betriebssystem (z. B. Windows) und damit indirekt an den jeweiligen
Drucker- oder Bildschirmtreiber einen Aufruf absetzt mit dem Auftrag, etwas anzuzeigen.
"Excel erkennt dann, aha, da sind Informationen wie ich die Bildpunkte setzen muß" stimmt sicher nicht.
Wie die Bildpunkte zu setzen sind, hängt auch vom jeweiligen Bildschirm oder Drucker ab.
Sollte Excel all diese Geräte kennen? Dann wäre das Programm noch ein wenig größer als jetzt schon...
Stattdessen gibt es viele verschiedene Bildschirm- und Druckertreiber - eben die Spezialisten.
Eine ttf-Datei ist eine Sammlung von Vektorgrafiken. Da kann Excel nichts mit anfangen.
Die Analyse einer ttf als Textdatei dürfte zu mühsam bis absolut aussichtslos sein.
Vielleicht gibt es irgend eine API-Funktion, mit der VBA Schriftzeichen-Infos bei Windows erfragen kann.
Ransi oder Nepumuk könnten da etwas wissen.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
AW: falsche Vorstellung?
30.04.2012 11:08:50
Reinhard
Hallo Erich,
dankeschön für deine Ausführlichkeit. Aufgrund deiner Erklärungen suche ich mal mit anderen Suchwörtern als vorher im Internet.
Frage noch offen.
Gruß
Reinhard
AW: Nur druckbare Zeichen anzeigen lassen
30.04.2012 15:14:52
Rolf
Hallo Reinhard,
vielleicht hilft dir beigefügte Datei weiter, auch wenn ein bisschen Spielerei (Tabelle "Rotate") dabei ist.
Bitte Kommentar in Tabelle "ID's", Zelle C2 beachten!
https://www.herber.de/bbs/user/80001.xlsm
Gruß, Rolf
@Rolf, hast du 2007 oder 2010? owT
30.04.2012 20:18:28
Reinhard

AW: @Rolf, hast du 2007 oder 2010? owT
01.05.2012 07:35:22
Rolf
Guten Morgen Reinhard,
´
ich habe 2010.
Gruß, Rolf
Alle 56535 Zeichen aller Schriftarten anzeigen
01.05.2012 15:06:18
Reinhard
Hallo Rolf,
ich fragte deshalb nach da ich mit meinem XL2007 die Prozedur ZeichentabelleAusgeben nicht zum Laufen brachte.
Permanent kam der Fehler
Systemfehler, dann zwei Zahlen in Hex und Dez, dann Scherwiegender Fehler.
Gefolgt von der Fehlermeldung Nicht ungenügend Speicher.
Ursache habe ich jetzt herausgefunden. Ich komme in alle Module rein außer in frmProgBar.
Nur beim Versuch in das Modul zu kommen kommt auch der Fehler.
Bei Verweisen habe ich stehen:
NICHT VORHANDEN Micorsoft Common Control 5.0 (SP2)
Ich habe frmProgBar entfernt, jetzt klappt alles wieder.
Kannst du mir bitte den Inhalt dieses Moduls zeigen? danke.
Leider nutzt mir deine Mappe nichts. Du benutzt Chr 0- 255. Ich suche was für den Bereich
ChrW 32-65535
Nachstehend der Code den ich u.a. dazu gebastelt habe.
Zumindest bei mir werden nicht druckbare Zeichen als Quadrat dargestellt. Das kann u.U. bei dir anders sein, liegt wohl am Betriebssystem, dortigen Einstellungen o.ä., jedenfalls wwird das angeblich bei
anderen als Strich dargestellt.
Aber ist ja wurscht, ich würde halt gerne die ganzen Quadrate weg haben, sind ja zigtausende :-(
In XL 2000 sieht das so aus wie auf dem untenstehenden Bild.
Wie ersichtlich sind die Zeilenhöhen gewaltig hoch, k.A. warum das so ist:-(
Mir fiel eben gerade per Zufall auf daß die Anzeige in XL 2007 anders ist, da sind weniger Quadrate?
Priorität hat für mich aber erstmal die Nichtanzeige von nicht druckbaren zeichen.
Gruß
Reinhard
Option Explicit
Sub ttt()
Dim Zei As Long, Spa As Long, Schriftarten As Object, Anz As Long
Application.ScreenUpdating = False
Worksheets.Add after:=Worksheets(Worksheets.Count)
Set Schriftarten = Application.CommandBars("Formatting").FindControl(ID:=1728)
Columns(1).NumberFormat = "@"
Range("A1").Value = "Hex"
For Zei = 32 To 65535
Cells(Zei, 1).Value = Hex(Zei)
Cells(Zei, 2).Value = ChrW(Zei)
Next Zei
Columns("A:A").HorizontalAlignment = xlRight
Anz = Schriftarten.ListCount
Range("B32:B65535").Copy Range(Cells(32, 2), Cells(65535, Anz + 1))
For Spa = 1 To Anz
Cells(1, Spa + 1).Value = Schriftarten.List(Spa)
Columns(Spa + 1).Font.Name = Schriftarten.List(Spa)
Columns(Spa + 1).ColumnWidth = 3
Next Spa
Rows(1).Font.Name = "Arial"
With Rows("1:1")
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.Orientation = 90
End With
Range("B2").Select
ActiveWindow.FreezePanes = True
'bei Autofit steigt Excel aus
'ActiveSheet.UsedRange.Columns.AutoFit
ActiveSheet.UsedRange.Rows.AutoFit
Application.ScreenUpdating = True
End Sub

Userbild
Anzeige
AW: Alle 56535 Zeichen aller Schriftarten anzeigen
01.05.2012 16:58:35
Rolf
Hallo Reinhard,
SORRY, habe dir eine Datei geschickt, die ich für verschiedene Tests verwende.
So, wie du es schilderst, habe ich Depp wohl nicht alle UF's/VBA's gelöscht, die mit deiner Frage nichts zu tun haben.
Zum Thema Zeilenhöhe: Hast du schon mal versucht "ganzes Blatt markieren" (Dreieck oben links zwischen A und 1 anklicken), Format, Zeilenhöhe automatisch anpassen?
Zu deinem eigenlichen Problem habe ich ad hoc keine Lösung; ich denk aber nochmal drüber nach.
Gruß, Rolf
AW: Alle 56535 Zeichen aller Schriftarten anzeigen
01.05.2012 17:22:05
Rolf
Hallo Reinhard,
Nachtrag:
Nichts gegen Herber, aber andere Mütter haben auch schöne Töchter.
"Excel-VBA" von Bernd Held z.B., (ISBN 978-3-8272-4535-2) gibt zahlreiche Tips. Vielleicht findest du da etwas.
Hoffentlich liest Hans W. dies Mähl nicht.
Dann hätte ich möglicherweise die Arschkarte gezogen, wenn ich jetzt auf 'Vorschau' und dann auf 'Absenden' klicke. Ich tu's trotzdem...
Gruß, Rolf
Anzeige
AW: Alle 56535 Zeichen aller Schriftarten anzeigen
01.05.2012 18:21:32
Reinhard
Hallo Rolf,
####SORRY, habe dir eine Datei geschickt, die ich für verschiedene Tests verwende.####
sowas ist mir a) bekannt, schick auch mal gerne eine falsche datei oder schreibe im Text,
siehe die datei = der Link und vergesse den Link da einzutragen.
Und b) wurscht, ich prüfe einzig hilft mir das weiter oder nicht.
So, wie du es schilderst, habe ich Depp wohl nicht alle UF's/VBA's gelöscht, die mit deiner Frage nichts zu tun haben.
Wieso beschimpfst du dich selbst als Depp? Spar dir doch die Mühe, das machen dann schon andere *lächel*
Andererseits mache ich das auch so, ich oute mich als DAu, das ist weniger schmerzhaft als wenn andere
das zu mir sagen :-)
Und, es ist doch für mich schön daß du nicht alle UFs gelöscht hast. Deshalb bekam ich in XL2007 ein Problem von dem ich nichts ahnen konnte.
Zeige mir bitte den Code in dem UF_Modul. Denn es interessiert mich schon sehr warum ich das Modul
nicht mal anschauen darf.
Daß ein Code nicht funktioniert weil ein Verweis fehlt ist mir bekannt.
Daß was in deiner mappe passiert ist mir sehr neu.
Zum Thema Zeilenhöhe: Hast du schon mal versucht "ganzes Blatt markieren" (Dreieck oben links zwischen A und 1 anklicken), Format, Zeilenhöhe automatisch anpassen?
Aktuell (noch) nicht. Ich weiß noch von der Codeerstellung und -Testung her daß da seltsame Dinge geschahen. In der Anzeige sah man leere Zellen. Die waren aber nicht leer, die Einträge standen ganz unten in der Zelle, erst nach Zellhöhenerhöhung bzw. Änderung der vertikalen Ausrichtung der Zelle sah man das.
Begriffen wieso warum habe ich nicht. Aber habe da noch keine Energie aufgewendet das herasuzufinden.
Zu deinem eigenlichen Problem habe ich ad hoc keine Lösung; ich denk aber nochmal drüber nach.
Danke. Du hast sicher auch Word, wenn du da Sonderzeichen einfügen willst kriegste ja eine kompakte
Auswahl angezeigt. Da sind ja auch keine nicht druckbaren Zeichen dabei. So in etwa würde ich
gern was basteln.
Gruß
REinhard
Anzeige
AW: Alle 56535 Zeichen aller Schriftarten anzeigen
04.05.2012 10:17:55
Rolf
Hallo Reinhard,
danke für deine Mähl!
Ich fürchte, wir beide sind ziemlich ähnlich gestrickt. ;)
Wir nehmen uns nicht allzu ernst und können auch über uns selbst lachen. Deshalb könnten dir folgender Sprüche gefallen:
• Ich lebe in meiner eigenen Welt. Das ist OK – man kennt mich dort.
• Du hast zwar Recht, aber ich finde meine Meinung besser.
• Schatz, gehst du meinen Pullover holen, oder soll ich sitzen bleiben?
Du möchtest die Codes zu meinen UF's?
Tut mir leid, habe vorgestern bei einem neuen Test meine Entwicklertools-Ansicht zerschossen. Solche oder ähnliche euphorische Erlebnisse kennst du sicherlich auch.
So lange ich o.g. Problem nicht gelöst habe, werde ich – dafür hast du sicherlich Verständnis – keine Dateien verschicken (möchte mein Problem nicht auf andere PC's übertragen).
Trotzdem eine Frage: "Welche UF, welches mdl wolltest du denn aufrufen?"
Ich hoffe, es handelt sich nicht um "ProgressBar". Meine beiden Test-Varianten funktionieren zwar, aber ich habe ein Problem mit der Umsetzung (mehrere Makros werden nacheinander aufgerufen, gleichzeitig soll aber "ProgressBar" laufen). Die Krücke, die ich mir gebastelt habe, eine UF mit zerstückelten Makros, gefällt mir gar nicht. Nähere Angaben oder einige Beispielzeilen aus meiner UF/VBA kann ich dir leider aus o.g. Grund nicht zur Verfügung stellen. Habe momentan keinen Zugriff mehr auf
Entwicklertools ==> Visual Basic.
Gruß, Rolf
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige