From Apache OpenOffice Wiki
Jump to: navigation, search

There are things listed in the "documentation" box on the frontpage that are missing here (for example: OOoHelpOutline, Documentation/Dashboard/Application_Online_Help). So these are either:

  • outdated/obsolete and should be removed from the frontpage
  • not outdated/obsolete and should be linked from here

--B michaelsen 16:07, 20 October 2009 (UTC)

I've simplified things for the Users section, adding just a single link to the doc project page. The other links were to outdated info, or to info that isn't much help to general users. --ccornell 10:31, 26 October 2009 (UTC)

To get Sheet Number Instead of Page Number


I am having a little problem: I need to get sheet number instead of page number;

I made this routine: Sub SetCurrSheet

   dim NumFol, NumPg, TotFol, oDoc as object, dispatcher as object, gVC
   oDoc = ThisComponent
   gVC = oDoc.CurrentController.getViewCursor()
          dispatcher = createUnoService("")
   TotFol = oDoc.CurrentController.PageCount ' Total de Páginas
   gVC.jumpToFirstPage rem posiciona primeira pagina  
   for M = 1 to TotFol
      sName = oDoc.getCurrentController().getViewCursor().PageStyleName
      oST = oDoc.StyleFamilies.getByName("PageStyles").getByName(sName)
      oST.HeaderIsOn = false
      oST.HeaderIsShared = false
      oST.HeaderIsOn = true
      oST.HeaderIsShared = false
      oText = oST.HeaderText
      oCur = oText.createTextCursor()
      NumPg = gVC.getPage()
      msgbox "Pagina atual: " & NumPg
      Select Case NumPg
      Case NumPg = 1
          NumFol = 1
      Case Else
          NumFol = iif(NumPg Mod 2, int(NumPg / 2 + 1),NumPg / 2)
      End Select
      MsgBox "Folha Passada: " & NumFol
'      oCur.setString("Folha " & NumFol)
      oText.setString("Folha " & NumFol, False)
      msgbox "Numero de Páginas: " & TotFol 
  next M

End Sub But it returns only a static information, not a user field. I did like to utilize that routine used on our wiki, at final of page:

 /** This method inserts both a date field and a user field containing the number '42'   */  protected void TextFieldExample() {      try {          // Use the text document's factory to create a DateTime text field,           // and access it's          // XTextField interface          XTextField xDateField = (XTextField) UnoRuntime.queryInterface(              XTextField.class, mxDocFactory.createInstance(                  ""));           // Insert it at the end of the document          mxDocText.insertTextContent ( mxDocText.getEnd(), xDateField, false );           // Use the text document's factory to create a user text field,           // and access it's XDependentTextField interface          XDependentTextField xUserField = (XDependentTextField) UnoRuntime.queryInterface (              XDependentTextField.class, mxDocFactory.createInstance(                  ""));           // Create a fieldmaster for our newly created User Text field, and access it's           // XPropertySet interface          XPropertySet xMasterPropSet = (XPropertySet) UnoRuntime.queryInterface(              XPropertySet.class, mxDocFactory.createInstance(                  ""));           // Set the name and value of the FieldMaster          xMasterPropSet.setPropertyValue ("Name", "UserEmperor");          xMasterPropSet.setPropertyValue ("Value", new Integer(42));           // Attach the field master to the user field          xUserField.attachTextFieldMaster (xMasterPropSet);           // Move the cursor to the end of the document          mxDocCursor.gotoEnd(false);          // insert a paragraph break using the XSimpleText interface          mxDocText.insertControlCharacter(               mxDocCursor, ControlCharacter.PARAGRAPH_BREAK, false);           // Insert the user field at the end of the document          mxDocText.insertTextContent(mxDocText.getEnd(), xUserField, false);      } catch (Exception e) {          e.printStackTrace (System.out);      }  }

Instead of "42", to bring sheet # (that is: PageNumber MOD 2). I do not know to codificate this. Somebody help me to achieve it, please... Morvan

Personal tools