diff options
Diffstat (limited to 'wizards/source/gimmicks/AutoText.xba')
-rw-r--r-- | wizards/source/gimmicks/AutoText.xba | 104 |
1 files changed, 53 insertions, 51 deletions
diff --git a/wizards/source/gimmicks/AutoText.xba b/wizards/source/gimmicks/AutoText.xba index 56e9f4ee047f..6950b830eb79 100644 --- a/wizards/source/gimmicks/AutoText.xba +++ b/wizards/source/gimmicks/AutoText.xba @@ -23,66 +23,68 @@ Dim n, m, iAutoCount as Integer sDocumentTitle = "Installed AutoTexts" ' Open a new empty document - oDocument = StarDesktop.LoadComponentFromURL("private:factory/swriter","_blank",0,NoArgs) - oDocument.DocumentInfo.Title = sDocumentTitle - oDocuText = oDocument.Text + oDocument = CreateNewDocument("swriter") + If Not IsNull(oDocument) Then + oDocument.DocumentInfo.Title = sDocumentTitle + oDocuText = oDocument.Text - ' Create The Character-templates - oCharStyles = oDocument.StyleFamilies.GetByName("CharacterStyles") + ' Create The Character-templates + oCharStyles = oDocument.StyleFamilies.GetByName("CharacterStyles") - ' The Characterstyle for the Header that describes the Title of Autotextgroups - oGroupTitleStyle = oDocument.createInstance("com.sun.star.style.CharacterStyle") - oCharStyles.InsertbyName("AutoTextGroupTitle", oGroupTitleStyle) + ' The Characterstyle for the Header that describes the Title of Autotextgroups + oGroupTitleStyle = oDocument.createInstance("com.sun.star.style.CharacterStyle") + oCharStyles.InsertbyName("AutoTextGroupTitle", oGroupTitleStyle) - oGroupTitleStyle.CharWeight = com.sun.star.awt.FontWeight.BOLD - oGroupTitleStyle.CharHeight = 14 + oGroupTitleStyle.CharWeight = com.sun.star.awt.FontWeight.BOLD + oGroupTitleStyle.CharHeight = 14 - ' The Characterstyle for the Header that describes the Title of Autotextgroups - oHeaderStyle = oDocument.createInstance("com.sun.star.style.CharacterStyle") - oCharStyles.InsertbyName("AutoTextHeading", oHeaderStyle) - oHeaderStyle.CharWeight = com.sun.star.awt.FontWeight.BOLD + ' The Characterstyle for the Header that describes the Title of Autotextgroups + oHeaderStyle = oDocument.createInstance("com.sun.star.style.CharacterStyle") + oCharStyles.InsertbyName("AutoTextHeading", oHeaderStyle) + oHeaderStyle.CharWeight = com.sun.star.awt.FontWeight.BOLD - ' "Ordinary" Table Content - oContentStyle = oDocument.createInstance("com.sun.star.style.CharacterStyle") - oCharStyles.InsertbyName("TableContent", oContentStyle) + ' "Ordinary" Table Content + oContentStyle = oDocument.createInstance("com.sun.star.style.CharacterStyle") + oCharStyles.InsertbyName("TableContent", oContentStyle) - oAutoTextContainer = CreateUnoService("com.sun.star.text.AutoTextContainer") - - oAutoTextCursor = oDocuText.CreateTextCursor() + oAutoTextContainer = CreateUnoService("com.sun.star.text.AutoTextContainer") + + oAutoTextCursor = oDocuText.CreateTextCursor() - oAutoTextCursor.CharStyleName = "AutoTextGroupTitle" - ' Link the Title with the following table - oAutoTextCursor.ParaKeepTogether = True + oAutoTextCursor.CharStyleName = "AutoTextGroupTitle" + ' Link the Title with the following table + oAutoTextCursor.ParaKeepTogether = True - For n = 0 To oAutoTextContainer.Count - 1 - oAutoGroup = oAutoTextContainer.GetByIndex(n) + For n = 0 To oAutoTextContainer.Count - 1 + oAutoGroup = oAutoTextContainer.GetByIndex(n) - oAutoTextCursor.SetString(oAutoGroup.Title) - oAutoTextCursor.CollapseToEnd() - oDocuText.insertControlCharacter(oAutoTextCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False) - oTable = oDocument.CreateInstance("com.sun.star.text.TextTable") - ' Divide the table if necessary - oTable.Split = True -' oTable.KeepTogether = False - oTable.RepeatHeadLine = True - oAutoTextCursor.Text.InsertTextContent(oAutoTextCursor,oTable,False) - InsertStringToCell("AutoText Name",oTable.GetCellbyPosition(0,0), "AutoTextHeading") - InsertStringToCell("AutoText Shortcut",oTable.GetCellbyPosition(1,0), "AutoTextHeading") - ' Insert one row at the bottom of the table - oRows = oTable.Rows - iAutoCount = oAutoGroup.Count - For m = 0 To iAutoCount-1 - ' Insert the name and the title of all Autotexts - oAutoText = oAutoGroup.GetByIndex(m) - InsertStringToCell(oAutoGroup.Titles(m), oTable.GetCellbyPosition(0, m + 1), "TableContent") - InsertStringToCell(oAutoGroup.ElementNames(m), oTable.GetCellbyPosition(1, m + 1), "TableContent") - If m < iAutoCount-1 Then - oRows.InsertbyIndex(m + 2,1) - End If - Next m - oDocuText.insertControlCharacter(oAutoTextCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False) - oAutoTextCursor.CollapseToEnd() - Next n + oAutoTextCursor.SetString(oAutoGroup.Title) + oAutoTextCursor.CollapseToEnd() + oDocuText.insertControlCharacter(oAutoTextCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False) + oTable = oDocument.CreateInstance("com.sun.star.text.TextTable") + ' Divide the table if necessary + oTable.Split = True +' oTable.KeepTogether = False + oTable.RepeatHeadLine = True + oAutoTextCursor.Text.InsertTextContent(oAutoTextCursor,oTable,False) + InsertStringToCell("AutoText Name",oTable.GetCellbyPosition(0,0), "AutoTextHeading") + InsertStringToCell("AutoText Shortcut",oTable.GetCellbyPosition(1,0), "AutoTextHeading") + ' Insert one row at the bottom of the table + oRows = oTable.Rows + iAutoCount = oAutoGroup.Count + For m = 0 To iAutoCount-1 + ' Insert the name and the title of all Autotexts + oAutoText = oAutoGroup.GetByIndex(m) + InsertStringToCell(oAutoGroup.Titles(m), oTable.GetCellbyPosition(0, m + 1), "TableContent") + InsertStringToCell(oAutoGroup.ElementNames(m), oTable.GetCellbyPosition(1, m + 1), "TableContent") + If m < iAutoCount-1 Then + oRows.InsertbyIndex(m + 2,1) + End If + Next m + oDocuText.insertControlCharacter(oAutoTextCursor,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False) + oAutoTextCursor.CollapseToEnd() + Next n + End If End Sub |