![]() |
Positionsmarken in .rtf Files
Liste der Anhänge anzeigen (Anzahl: 1)
Zur Erstellung von Help Files (.hlp) benutze ich seit vielen Jahren Microsoft Help Workshop.
Basis für den Help Compiler ist jeweils eine .rtf Datei. Die .rtf Datei ist in mehrere, oft hunderte, Kapitel unterteilt. Den Überschriften der Kapitel ist jeweils eine Fußnote oder Endnote zugewiesen. Zum Beispiel sieht ein Kapitel (nicht vollständig) so aus: #$kHilfe Menu im Hauptfenster // Topic-Id = miHelpMain Mit den Einträgen dieses Menus kann die Hilfe zum Programm angezeigt werden. Hilfe InhaltmiHelpContentMain // Die Topic-Id "miHelpContentMain" ist als "Verborgen" formatiert. #$kHilfe Inhalt Eintrag im "Hilfe" Menu // Topic-Id = miHelpContentMain Zeigt die Startseite der Hilfe. Mit der F1-Taste kann eine kontextbezogene Hilfe gezeigt werden. Es wird versucht die Hilfe zu dem Objekt zu zeigen, auf das der Mauszeiger zeigt. Die kontextbezogene Hilfe ist sowohl im Hauptfenster wie auch in allen anderen Fenstern des Programms verfügbar. Vor der Zuweisung von Fuß-/ Endnoten sahen die Kapitelüberschriften so aus: miHelpMainHilfe Menu im Hauptfenster miHelpContentHilfe Inhalt Eintrag im "Hilfe" Menu Die Fuß-/Endnoten wurden so zugewiesen Eingabecaret hinter "miHelpMain" stellen und Shift-Ctrl-J drücken Shift-Ctrl-J ist dem Macro "Help_YMakeJumpToHeader()" zugewiesen Eingabecaret hinter "miHelpMain" stellen und Shift-Ctrl-S drücken Shift-Ctrl-S ist dem Macro "Help_YMakeShowHeader()" zugewiesen Wie ich (in der .rtf Datei) von einem Link zum Text springen kann, habe ich gelöst. EingabeCaret in den Text "Hilfe Inhalt" stellen und Alt-G drücken. Alt-G ist dem Macro "GotoTopic()" zugewiesen. Was ich noch machen möchte ist, wie z.B. in Delphi, mit Shift-Ctlr-1 bis 9 Positionsmarken zuweisen. Meine Vorstellung ist, dass ich das Eingabecaret in eine Kapitelüberschrift stelle und mit Shift-Ctrl-1 die zugehörige Topic-Id in einem Array(9) of String speichere, um später mit einer anderen Tastenkombination die Topic-Id aus dem Array zu lesen und zur entsprechenden Textstelle zu springen. Woran es scheitert: Ich habe bisher nicht herausgefunden, wie ich, herausfinden kann, welche Topic-Id einer bestimmten Kapitelüberschrift zugewiesen ist. Kann mir da jemand helfen? Achtung: Word 2010 Die von mir benutzten Macros sind in der Datei Help.dot (Im Anhang als Help.zip) Die Idealvorstellung ist natürlich eine "Positionsmarke" für eine beliebige Stelle im Text zu erstellen um später zu dieser Textstelle zu springen. |
AW: Positionsmarken in .rtf Files
Keiner 'ne Idee?
|
AW: Positionsmarken in .rtf Files
Hallo Klaus,
kommst du evtl. weiter wenn du dir einen anderen Hilfegenerator anschaust? Die meisten können aus RTF/CHM importieren und auch wieder als RTF exportieren. Vielleicht gibt dir das den entscheidenden Hinweis... Zu nennen wären evtl. HelpAndManual (Trial) HelpSmith (Trial) HelpNDoc (Free for personal use) HelpScribble (Trial) Precision Helper (Free) Grüße Steku |
AW: Positionsmarken in .rtf Files
Wieso eigentlich *.hlp-Dateien? Die sind doch schon seit Windows7 tot (oder war es Vista?)
|
AW: Positionsmarken in .rtf Files
Wo sollen die Positionsmarken denn verwendet werden, geht es um Makroprogrammierung für MS Word, um bei der Bearbeitung eines RTF Dokuments Marker setzen und dorthin springen zu können?
Also z.B. so etwas: ![]() |
AW: Positionsmarken in .rtf Files
Zitat:
hilft mir leider nicht, weil ich keinen anderen Hilfegenerator suche, sondern Zitat:
|
AW: Positionsmarken in .rtf Files
Zitat:
Ich arbeite übrigens mit Windows 7. |
AW: Positionsmarken in .rtf Files
Zitat:
ja es geht um Makroprogrammierung (VBA) und Bookmarks kommt dem nahe was ich suche, trifft es aber nicht wirklich. Die Bookmarks wären dann Bestandteile des Dokuments, und ich möchte durch das Setzen von Positionsmarken am Dokument nichts verändern. Das ganze soll ausschließlich auf VBA-Ebene laufen. |
AW: Positionsmarken in .rtf Files
Zitat:
Die Bookmarks, die mit VBA während der Bearbeitungssitzung angelegt werden, könnte man beim Beenden (Schliessen des Dokuments) auch wieder komplett entfernen. Oder sollen die Bookmarks dauerhaft bestehen bleiben, aber nicht im Dokument selbst gespeichert sein? (sondern z.B. in einer anderen Datei) |
AW: Positionsmarken in .rtf Files
Zitat:
Meine Befürchtung war, dass der Help Compiler damit Probleme haben könnte. Hat er nicht. Danke für den Tipp.
Code:
Sub SetBookMark(ID As Long)
Dim BMName As String, BM As Bookmark If (ID >= 0) And (ID <= 9) Then BMName = "BookMark" & ID For Each BM In ActiveDocument.Bookmarks If BM.Name = BMName Then BM.Delete Exit For End If Next ActiveDocument.Bookmarks.Add Name:=BMName, Range:=Selection.Range End If End Sub
Code:
Sub GotoBookMark(ID As Long)
Dim BMName As String, BM As Bookmark If (ID >= 0) And (ID <= 9) Then BMName = "BookMark" & ID For Each BM In ActiveDocument.Bookmarks If BM.Name = BMName Then BM.Select Exit Sub End If Next End If End Sub
Code:
Sub DeleteBookMarks()
Dim BM As Bookmark For Each BM In ActiveDocument.Bookmarks BM.Delete Next End Sub |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz