Toon posts:

macro openoffice VB

Pagina: 1
Acties:
  • 39 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb hier een macro met VB in Openoffice. De bedoeling van de macro is dat hij ervoor zorgt dat het document automatisch een naam krijgt die is opgebouwd uit jaar+maand+dag+versienummer, dus bijvoorbeeld
20050915001.
De macro moet ook het bestand automatisch in een directory opslaan.
Totnogtoe werkt het gedeelte van het naam toekennen van jaar+maand+dag en het automatisch opslaan in een directory, maar werkt het geven van een versienummer niet.
Ik bedoel met het toekennen van een versienummer dat als je de macro een keer draait komt er bijvoorbeeld 20050915001 te staan en als je hem de zelfde datum nog een keer draait dan er dan 20050915002 komt te staan en nog een keer 20050915003, enz.
Nu kan ik de macro een keer draaien en hij werkt, en de volgende keer zegt hij dat het bestand al bestaat en doet hij niks. Weet iemand hoe ik dit kan oplossen zodat hij elke keer een nieuw versienummer geeft.

hier onder bevindt zich de code van de macro

Sub macro
Dim sFileName$, sFileFullName$
Dim MyDoc
Dim args(01) As New com.sun.star.beans.PropertyValue
Const cFilePath = "C:\Mijn Documenten"

myDoc = ThisComponent
sFileName = MakeFileNameOfDate
sFileFullName = ConvertToUrl(cFilePath & sFileName)
myDoc.StoreAsUrl(sFileFullName, args())

StartVersioning

End Sub

Function MakeFileNameOfDate as string
Dim myDate as Date
Dim nMonth%, nDay%
Dim sMonth$, sDay$

myDate = Date
nMonth = Month(myDate)
If nMonth < 10 then
sMonth = "0" & nMonth
Else
sMonth = nMonth
End If

nDay = Day(myDate)
If nDay < 10 then
sDay = "0" & nDay

Else
sDay = nDay

End If
MakeFileNameOfDate = Year(myDate) & sMonth & sDay & ".sxw"


End Function

Sub StartVersioning
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(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SaveVersionOnClose"
args1(0).Value = true

dispatcher.executeDispatch(document, ".uno:SaveVersionOnClose", "", 0, args1())

End Sub

[ Voor 3% gewijzigd door Verwijderd op 15-09-2005 08:59 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 30-04 15:31
Het maken van macro's is iets dat eerder in Office suites thuishoort, dan in P&W.
Echter, dit topic is zo'n typisch 'hier heb je m'n code (zonder code-tags)' topic, dit moet ie doen, en hij doet het niet, debug dit ff voor me aub.
Zo iets laten we hier niet toe. Je kan zelf ook eerst eens even je code debuggen en nagaan waar er wat foutgaat. Als je programmeert, is debuggen iets wat je moet kunnen doen. Het is er onlosmakelijk mee verbonden zeg maar.

https://fgheysels.github.io/


Dit topic is gesloten.