Update für ReNoNet mit besserer Office 2007 Unterstützung in Vorbereitung (für Bestandskunden kostenlos).
Die Makrofunktion von Word und Excel erlaubt es nicht, Makros von Add-Ins aufzunehmen. ReNo (ab Version 1.2) und ReNoNet (seit Version 1.0) können trotzdem in Makros verwendet werden.
Die Add-Ins unterstützten dazu zwei Funktionen zur Fernsteuerung: ReadCounter und SetCounter. Für ReNo und ReNoNet sind dazu minimal unterschiedliche Codeaufrufe nötig. Seit Version 1.1 unterstützt ReNoNet eine weitere Funktion SetIniFile() zum Wechseln der aktiven Zählerdatei.
ReadCounter und SetCounter sind als Funktionen implementiert, die beide die nächste Rechnungsnummer (des aktuellen Nummernkreises) als Zeichenkette zurückliefern; jedoch zählt nur ein Aufruf von SetCounter den Zähler dabei auch hoch (Hinweis: Bei ReNoNet wird immer die aktuell eingestellte Zählerdatei verwendet, die sich über SetIniFile() ändern läßt). Der Entwickler kann also entscheiden, ob er erst nur die Rechnungsnummer einfügt und dann später (z.B. beim Speichern des Dokumentes) den Zähler erhöht.
Hinweis: Der Klassenname für das ReNo Freeware Add-In hat sich in der Version 2.0 geändert: ReNo.ReNoClass anstatt RechnungsNr.RechNrClass. Der alte Klassenname funktioniert nur mit der Version 1.2!
Diese Beispielmakros zeigen das Vorgehen für ReNo Freeware 2.0:
Public Function ReNoCounter() As
String
Dim oAdd As Object
Set oAdd = Application.COMAddIns.Item("ReNo.ReNoClass").Object
Debug.Print oAdd.ReadCounter
ReNoCounter = oAdd.SetCounter
End Function
Und dieses Makros zeigt den Aufruf für ReNoNet:
Public Function ReNoCounter() As
String
Dim oAdd As Object
Set oAdd = Application.COMAddIns.Item("ReNoNet.ReNoNetCoClass").Object
Debug.Print oAdd.ReadCounter
ReNoCounter = oAdd.SetCounter
End Function
Die ersten beiden Zeilen legen das benötigte Objekt an. Zeile 3 gibt die Rechnungsnummer im Direktbereich aus, Zeile 4 liefert die Rechnungsnummer der Funktion zurück und setzt gleichzeitig den Zähler.
Der Aufruf dieser Funktion könnte dann z.B. in Word so aussehen:
Public Sub Makro1()
Selection.TypeText ReNoCounter()
End Sub
Und so z.B. in Excel:
Public Sub Makro1()
Selection.Value = ReNoCounter()
End Sub
Wechsel der aktiven INI-Datei (seit ReNoNet V1.1):
Public Sub Makro2()
Dim oAdd As Object
Set oAdd =
Application.COMAddIns.Item ("ReNoNet.ReNoNetCoClass").Object
Debug.Print oAdd.SetIniFile ("C:\Daten\reno_counter.ini")
End Sub
Die Funktion SetIniFile() liefert "True" zurück wenn der Wechsel erfolgreich war und "False" wenn die Datei nicht vorhanden oder lesbar ist.