Hallo,
es ist wieder Freitag und kurz bevor alle ins Wochenende abdüsen hänge ich hier mit einem Problem.
Ich möchte per VB.NET mit Hilfer der Zwischenablage Textbausteine in Word von einem Dokument ins nächste übertragen. Die Textbausteine beinhalten auch Formatierungsvorgaben wie Überschriften, Textgröße, kursiv und auch Tabellen.
Wenn ich per Hand in Word einen solchen Textbaustein in die Zwischenablage kopiere erhalte ich mögliche Datenformate, die ich in mal in ein Array übertragen habe.
Ein kleines Testtool liest nun die Zwischenablage aus und kopiert das dann direkt wieder zurück. Geht alles gut, müsste ich in Word über Strg+V den ursprünglichen Text mit allen Formatierungen wieder erhalten. Dem ist aber nicht so.
Das Toolchen sieht so aus:
Mit keinem Format erhalte ich das gewünschte Ergebnis.
Was mache ich denn da falsch?
Gruß
MQ
es ist wieder Freitag und kurz bevor alle ins Wochenende abdüsen hänge ich hier mit einem Problem.
Ich möchte per VB.NET mit Hilfer der Zwischenablage Textbausteine in Word von einem Dokument ins nächste übertragen. Die Textbausteine beinhalten auch Formatierungsvorgaben wie Überschriften, Textgröße, kursiv und auch Tabellen.
Wenn ich per Hand in Word einen solchen Textbaustein in die Zwischenablage kopiere erhalte ich mögliche Datenformate, die ich in mal in ein Array übertragen habe.
Ein kleines Testtool liest nun die Zwischenablage aus und kopiert das dann direkt wieder zurück. Geht alles gut, müsste ich in Word über Strg+V den ursprünglichen Text mit allen Formatierungen wieder erhalten. Dem ist aber nicht so.
Das Toolchen sieht so aus:
VB.NET-Quellcode
- Dim sFormat As String() = {"Object Descriptor",
- "Rich Text Format",
- "HTML Format",
- "System.String",
- "Unicode Text",
- "Text",
- "EnhancedMetafile",
- "MetaFilePict",
- "Embed Source",
- "Link Source",
- "Link Source Descriptor",
- "ObjectLink",
- "Hyperlink"}
- Public Sub schaufeleClipboard(myIndex As Integer)
- Dim obj As New DataObject
- Try
- obj.SetData(My.Computer.Clipboard.GetData(sFormat(myIndex)))
- My.Computer.Clipboard.Clear()
- My.Computer.Clipboard.SetDataObject(obj)
- Catch ex As Exception
- MsgBox("transferfehler: " & ex.Message)
- End Try
- End Sub
Mit keinem Format erhalte ich das gewünschte Ergebnis.
Was mache ich denn da falsch?
Gruß
MQ