ich öffne eine unformatierte Textdatei per Command Line .
Code: Alles auswählen
soffice.exe -n c:\path\filename.txt macro:///Standard.Format.Main --infilter="Text (encoded):UTF8"
Kann ich das auch per Makro machen?
Danke
Seballa
Moderator: Moderatoren
Code: Alles auswählen
soffice.exe -n c:\path\filename.txt macro:///Standard.Format.Main --infilter="Text (encoded):UTF8"
Ja, natürlich. Mit Makros kannst Du so zeimlich alles machen;)..Kann ich das auch per Makro machen?
Das war meine erste Idee, ich bin aber ein bisschen am Verzweifeln da es nicht wie erwartet funktioniert.Wäre es aber nicht generell besser, gleich die gewünschten Formate in die Standardvorlage hinein zu packen? Dann könnteste Dir den Schritt über das Makro sparen.
Code: Alles auswählen
//Datei öffnen per batch datei und Makro automatisch auslösen
-->soffice.exe -n c:\path\filename.txt macro:///Standard.Format.Main --infilter="Text (encoded):UTF8"
//MEIN PROBLEM HIER MEINE ABSATZVORLAGEN SIND NICHT IM DER GEÖFFNETEN DATEI ENTHALTEN
//Mein aufgenommenes Makro:
-->Markiere den gesamten Text
-->Benutze Absatzvorlage "MeinText"
-->Suche alle Elemente mit dem String XXX in der Zeile
-->Benutze Absatzvorlage "MeineÜberschrift"
-->Ersetze alle XXX mit ""
Code: Alles auswählen
Weg B
//Neues Dokument öffnen
-->soffice.exe macro:///Standard.GetTextAndFormat.Main
//Füge den die Txt Datei ein SCHEITERT DARAN DAS ICH DEN UTF8 Filter nicht gesetzt bekomme
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Name"
args2(0).Value = "file:///C:/Users/Dummy/Documents/filename.txt"
args2(1).Name = "Filter"
args2(1).Value = "Text (encoded):UTF8" //Wo ist mein Fehler TUT NICHTS!
dispatcher.executeDispatch(document, ".uno:InsertDoc", "", 0, args2())
MeinMakro...
Code: Alles auswählen
soffice.exe -n "c:\path\filename.txt" macro:///Standard.MeinMakro.Main --infilter="Text (encoded):UTF8"
sub Main
rem define variables
dim document as object
dim dispatcher as object
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem Document mit den Templates in die Datei laden
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Name"
args2(0).Value = "file:///C:/Path/to/tamplate/template.ott"
args2(1).Name = "Filter"
args2(1).Value = "writer8_template"
dispatcher.executeDispatch(document, ".uno:InsertDoc", "", 0, args2())
rem Alles auswählen
dispatcher.executeDispatch(document, ".uno:SelectAll", "", 0, Array())
rem Set Template
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Template"
args4(0).Value = "myTemplateforText"
args4(1).Name = "Family"
args4(1).Value = 2
dispatcher.executeDispatch(document, ".uno:StyleApply", "", 0, args4())
rem Find all Lines containing XXX
dim args5(21) as new com.sun.star.beans.PropertyValue
args5(0).Name = "SearchItem.StyleFamily"
args5(0).Value = 2
args5(1).Name = "SearchItem.CellType"
args5(1).Value = 0
args5(2).Name = "SearchItem.RowDirection"
args5(2).Value = true
args5(3).Name = "SearchItem.AllTables"
args5(3).Value = false
args5(4).Name = "SearchItem.SearchFiltered"
args5(4).Value = false
args5(5).Name = "SearchItem.Backward"
args5(5).Value = false
args5(6).Name = "SearchItem.Pattern"
args5(6).Value = false
args5(7).Name = "SearchItem.Content"
args5(7).Value = false
args5(8).Name = "SearchItem.AsianOptions"
args5(8).Value = false
args5(9).Name = "SearchItem.AlgorithmType"
args5(9).Value = 0
args5(10).Name = "SearchItem.SearchFlags"
args5(10).Value = 65536
args5(11).Name = "SearchItem.SearchString"
args5(11).Value = "XXX"
args5(12).Name = "SearchItem.ReplaceString"
args5(12).Value = ""
args5(13).Name = "SearchItem.Locale"
args5(13).Value = 255
args5(14).Name = "SearchItem.ChangedChars"
args5(14).Value = 2
args5(15).Name = "SearchItem.DeletedChars"
args5(15).Value = 2
args5(16).Name = "SearchItem.InsertedChars"
args5(16).Value = 2
args5(17).Name = "SearchItem.TransliterateFlags"
args5(17).Value = 1280
args5(18).Name = "SearchItem.Command"
args5(18).Value = 1
args5(19).Name = "SearchItem.SearchFormatted"
args5(19).Value = false
args5(20).Name = "SearchItem.AlgorithmType2"
args5(20).Value = 1
args5(21).Name = "Quiet"
args5(21).Value = true
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args5())
rem Set Template for Headline
dim args6(1) as new com.sun.star.beans.PropertyValue
args6(0).Name = "Template"
args6(0).Value = "Headline"
args6(1).Name = "Family"
args6(1).Value = 2
dispatcher.executeDispatch(document, ".uno:StyleApply", "", 0, args6())
rem same search but replace with empty string
dim args7(21) as new com.sun.star.beans.PropertyValue
args7(0).Name = "SearchItem.StyleFamily"
args7(0).Value = 2
args7(1).Name = "SearchItem.CellType"
args7(1).Value = 0
args7(2).Name = "SearchItem.RowDirection"
args7(2).Value = true
args7(3).Name = "SearchItem.AllTables"
args7(3).Value = false
args7(4).Name = "SearchItem.SearchFiltered"
args7(4).Value = false
args7(5).Name = "SearchItem.Backward"
args7(5).Value = false
args7(6).Name = "SearchItem.Pattern"
args7(6).Value = false
args7(7).Name = "SearchItem.Content"
args7(7).Value = false
args7(8).Name = "SearchItem.AsianOptions"
args7(8).Value = false
args7(9).Name = "SearchItem.AlgorithmType"
args7(9).Value = 0
args7(10).Name = "SearchItem.SearchFlags"
args7(10).Value = 65536
args7(11).Name = "SearchItem.SearchString"
args7(11).Value = "XXX"
args7(12).Name = "SearchItem.ReplaceString"
args7(12).Value = ""
args7(13).Name = "SearchItem.Locale"
args7(13).Value = 255
args7(14).Name = "SearchItem.ChangedChars"
args7(14).Value = 2
args7(15).Name = "SearchItem.DeletedChars"
args7(15).Value = 2
args7(16).Name = "SearchItem.InsertedChars"
args7(16).Value = 2
args7(17).Name = "SearchItem.TransliterateFlags"
args7(17).Value = 1280
args7(18).Name = "SearchItem.Command"
args7(18).Value = 3
args7(19).Name = "SearchItem.SearchFormatted"
args7(19).Value = false
args7(20).Name = "SearchItem.AlgorithmType2"
args7(20).Value = 1
args7(21).Name = "Quiet"
args7(21).Value = true
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args7())
end sub