von migges » Di, 16.05.2006 11:58
Hallo,
ich hoffe jemand kann mir helfen. Ich kenne mich nicht mit StarBasic aus und habe es auch nicht vor zu lernen. Nur leider muss ich ein Makro schreiben, ich dachte mir das ich dies durch "Makro aufzeichen" bewerkstelligen kann.
Das Makro soll alle Leerzeichen entfernen, den automatischen Zeilenumbruch rausnehmen und die Spalten in optimaler Breite darstellen.
Der Quelltext den mir das aufgezeichnete Makro lieft ist folgender.
Code: Alles auswählen
sub Test
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(17) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 0
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 65536
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = " "
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = ""
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 3
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "WrapText"
args2(0).Value = false
dispatcher.executeDispatch(document, ".uno:WrapText", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "aExtraWidth"
args3(0).Value = 0
dispatcher.executeDispatch(document, ".uno:SetOptimalColumnWidth", "", 0, args3())
end sub
Kann mir jemand helfen bzw sagen was falsch ist? Das Makro nimmt den automatischen Zeilenumbruch nicht raus.
mfg
Hallo,
ich hoffe jemand kann mir helfen. Ich kenne mich nicht mit StarBasic aus und habe es auch nicht vor zu lernen. Nur leider muss ich ein Makro schreiben, ich dachte mir das ich dies durch "Makro aufzeichen" bewerkstelligen kann.
Das Makro soll alle Leerzeichen entfernen, den automatischen Zeilenumbruch rausnehmen und die Spalten in optimaler Breite darstellen.
Der Quelltext den mir das aufgezeichnete Makro lieft ist folgender.
[code]
sub Test
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(17) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.StyleFamily"
args1(0).Value = 2
args1(1).Name = "SearchItem.CellType"
args1(1).Value = 0
args1(2).Name = "SearchItem.RowDirection"
args1(2).Value = true
args1(3).Name = "SearchItem.AllTables"
args1(3).Value = false
args1(4).Name = "SearchItem.Backward"
args1(4).Value = false
args1(5).Name = "SearchItem.Pattern"
args1(5).Value = false
args1(6).Name = "SearchItem.Content"
args1(6).Value = false
args1(7).Name = "SearchItem.AsianOptions"
args1(7).Value = false
args1(8).Name = "SearchItem.AlgorithmType"
args1(8).Value = 0
args1(9).Name = "SearchItem.SearchFlags"
args1(9).Value = 65536
args1(10).Name = "SearchItem.SearchString"
args1(10).Value = " "
args1(11).Name = "SearchItem.ReplaceString"
args1(11).Value = ""
args1(12).Name = "SearchItem.Locale"
args1(12).Value = 255
args1(13).Name = "SearchItem.ChangedChars"
args1(13).Value = 2
args1(14).Name = "SearchItem.DeletedChars"
args1(14).Value = 2
args1(15).Name = "SearchItem.InsertedChars"
args1(15).Value = 2
args1(16).Name = "SearchItem.TransliterateFlags"
args1(16).Value = 1280
args1(17).Name = "SearchItem.Command"
args1(17).Value = 3
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "WrapText"
args2(0).Value = false
dispatcher.executeDispatch(document, ".uno:WrapText", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "aExtraWidth"
args3(0).Value = 0
dispatcher.executeDispatch(document, ".uno:SetOptimalColumnWidth", "", 0, args3())
end sub
[/code]
Kann mir jemand helfen bzw sagen was falsch ist? Das Makro nimmt den automatischen Zeilenumbruch nicht raus.
mfg