Scripte

Fehlerberichte, Hilfe und Anregungen zu BasicMaker 2016 für Windows

Moderator: SoftMaker Team

PeterQ
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 1429
Registriert: 09.03.2009 17:32:30
Kontaktdaten:

Scripte

Beitragvon PeterQ » 09.10.2017 20:12:00

Da Get jetzt seinen eigenes Script eingestellt hat, bleibt jetzt hier nur die Vorrede.
Dieser Thread kann alle Scripte sammeln, die auch für andere einen Nutzen haben können.
Möge die Moderation diesen Thread oben anheften.
Zuletzt geändert von PeterQ am 13.10.2017 20:14:10, insgesamt 1-mal geändert.
(1) OpenSuse 42.2 64 bit
(2) WINE 32 bit in OpenSuse 42.2 64 bit
(3) Windows 7 32 bit

PeterQ
SoftMaker Volunteers
SoftMaker Volunteers
Beiträge: 1429
Registriert: 09.03.2009 17:32:30
Kontaktdaten:

Scripte: Rechnung mit fortlaufender Nummer

Beitragvon PeterQ » 12.10.2017 12:34:14

Rechnung mit fortlaufender Nummer:

Code: Alles auswählen

Sub GlobalNumbering
   Dim tm As Object

   Set tm = CreateObject("TextMaker.Application")
   If tm.Documents.Count = 0 Then
      MsgBox "Sie haben kein Dokument geöffnet!"
      Stop
   End If

tm.ActiveDocument.Selection.GoTo tmGoToTable, tmGoToAbsolute, 1, 1, 3

   Open "c:\Rechnung\Rechnungsnummer.txt" For Input As #1
   Input #1, num
   Close #1

   tm.ActiveDocument.Selection.TypeText Str(num)
   num = num + 1

   Open "c:\Rechnung\Rechnungsnummer.txt" For Output As #1
   Print #1, num
   Close #1


' Da zum Speichern die erste Zeile des Dokumentes vorgeschlagen wird:
' Kopiere den Tabelleninhalt in die erste Zeile

With tm.ActiveDocument
  .Selection.SetRange .Paragraphs(15).Range.Start, .Paragraphs(15).Range.End
End With
tm.ActiveDocument.Selection.Copy
' in die erste Zeile einfgen
tm.ActiveDocument.Selection.GoTo tmGoToParagraph, tmGoToAbsolute, 1
tm.ActiveDocument.Selection.Paste

With tm.ActiveDocument
  .Selection.SetRange .Paragraphs(17).Range.Start, .Paragraphs(17).Range.End
End With
tm.ActiveDocument.Selection.Copy
' nach dem 8. Zeichen  einfgen
tm.ActiveDocument.Selection.SetRange 8, 8
tm.ActiveDocument.Selection.Paste

With tm.ActiveDocument
  .Selection.SetRange .Paragraphs(19).Range.Start, .Paragraphs(19).Range.End
End With
tm.ActiveDocument.Selection.Copy
' nach dem 14 Zeichen einfügen
tm.ActiveDocument.Selection.SetRange 11, 11
tm.ActiveDocument.Selection.Paste

tm.ActiveDocument.Selection.GoTo tmGoToParagraph, tmGoToAbsolute, 1

' Dokument speichern
tm.ActiveDocument.Save



'Rechnungsnummer duplizieren, um die Tabelle als Text zu ersetzen
With tm.ActiveDocument
  .Selection.SetRange .Paragraphs(1).Range.Start, .Paragraphs(1).Range.End
End With
tm.ActiveDocument.Selection.Copy

tm.ActiveDocument.Selection.GoTo tmGoToParagraph, tmGoToAbsolute, 21
tm.ActiveDocument.Selection.Paste


' erste 3 Zeilen wieder löschen
With tm.ActiveDocument
  .Selection.SetRange .Paragraphs(1).Range.Start, .Paragraphs(3).Range.End
End With
tm.ActiveDocument.Selection.Delete


' Tabelle löschen
' Die erste Tabelle des Dokuments in Text wandeln
tm.ActiveDocument.Tables.Item(1).ConvertToText

' Tabellenzeile löschen
With tm.ActiveDocument
  .Selection.SetRange .Paragraphs(15).Range.Start, .Paragraphs(15).Range.End
End With
tm.ActiveDocument.Selection.Delete

   Set tm = Nothing
End Sub


Die Anleitung dazu:
Einen Ordner „Rechnung“ in C anlegen (oder selbstgewählt- dann muss aber das BasicMaker-Script angepasst werden.)
Die Datei „Rechnung mit Nummer.tmv“ in das Vorlageverzeichnis von SoftMaker kopieren.
Die Datei „Rechnungsnummer.txt“ in den Ordner „Rechnung“ kopieren.
Die Datei „Rechnung.bas“ in den Ordner „Rechnung“ kopieren.
Symbolleiste von TextMaker anpassen, indem ein benutzerdefinerter Button angelegt wird.
Befehlszeile mit "C:\Programme\SoftMaker Office 2016\BasicMaker.exe" /s "C:\Rechnung\Rechnung.bas"
ausfüllen. Als Symbol kann „NR.ico“ gewählt werden.
Die Rechnungsvorlage "Rechnung mit Nummer.tmv" öffnen.
Wenn eine neue Rechnungsnummer vergeben werden soll, dann den Button drücken


Rechnung mit Nummer.tmv
(29.5 KiB) 3-mal heruntergeladen
Rechnung.bas
(2.35 KiB) 3-mal heruntergeladen
NR.png
muss noch in .ico umgewandelt werden
NR.png (462 Bytes) 116 mal betrachtet

Möge die Moderation diesen Thread oben anheften. Alle anderen sind auch eingeladen, ihre Scripte hier vorzustellen.
Zuletzt geändert von PeterQ am 13.10.2017 20:15:43, insgesamt 3-mal geändert.
(1) OpenSuse 42.2 64 bit
(2) WINE 32 bit in OpenSuse 42.2 64 bit
(3) Windows 7 32 bit

Benutzeravatar
Get
Beiträge: 80
Registriert: 08.12.2014 13:39:39
Kontaktdaten:

Skript zur Recherche im Internet

Beitragvon Get » 12.10.2017 21:02:38

Vor langer Zeit habe ich das mal geschrieben. Es geht so:
In Textmaker einen Text markieren, das Skript starten.
Es kommt eine Auswahlbox, in der man folgendes wählen kann:
Suche den markierten Text in Google, in Wikipedia, in Grimms Wörterbuch, im Langenscheid Übersetzter (man kann die Sprache auswählen), oder im Softmaker Forum.
Das Skript heißt "internet.bas". Man muss nur den Pfad zu seinem eigenen Browswr anpassen.
Dateianhänge
internet.bas
(3.67 KiB) 3-mal heruntergeladen

Benutzeravatar
Get
Beiträge: 80
Registriert: 08.12.2014 13:39:39
Kontaktdaten:

Re: Scripte: Printsel

Beitragvon Get » 12.10.2017 21:14:59

Die letzte Überarbeitung, damit das Drucken auch mit einem einzigen Mausklick klappt:

Code: Alles auswählen

Sub printsel()

   Dim tm as Object
   Dim docName, pfad as String
   Set tm = CreateObject("TextMaker.Application")
   tm.Visible = TRUE
   pfad = tm.Application.Options.DefaultTemplatePath
   docName = pfad & "\printsel-kopie.tmd"
   tm.ActiveDocument.Selection.Copy
   tm.Documents.Open docName
   'tm.ActiveDocument.Save
   tm.ActiveDocument.Selection.Paste
   tm.ActiveDocument.PrintOut
   tm.ActiveDocument.Close smoDoNotSaveChanges
   Set tm = Nothing

End Sub

Wichtig: eine leere Datei "printsel-kopie.tmd" im Softmaker Template-Verzeichnis anlegen, dann hat man Ruhe.
Ob der Befehl Tm.ActiveDocument.Save gebraucht wird, kann man ausprobieren. Nötig ist er bei mir nicht.
Viel Spaß

P.S.
Ich werde hier mal in kürze eine Anleitung posten, wei man seine Basic-Skripte auf einen Userbutton legt, damit das auch wirklich mit einem Mausklick läuft.

Benutzeravatar
Get
Beiträge: 80
Registriert: 08.12.2014 13:39:39
Kontaktdaten:

UserButtons

Beitragvon Get » 12.10.2017 21:38:19

Userbutton für Basic Skripte

Die UserButtons für Textmaker 16 werden immer in der Datei »tmw16config.ini« im Verzeichnis »Dokumente\Softmaker\Settings« gelistet,
wobei tmd16 bei Bedarf für die anderen SM Programme geändert wird.

Die UserButtons beginnen bei meiner tmd16.config hinter der Zeile mit Zeile »winprn=......
Jeder Button hat folgende Einträge:

Code: Alles auswählen

[UserButton6]
Exepath=basicmaker /s c:\users\USERNAME\documents\softmaker\SKRIPTVERZEICNIS\printsel.bas
Text=Auswahl drucken
Iconfile=C:\Users\USERNAME\Documents\SoftMaker\SCRIPTVERZEICHNIS\printsel.ico

Die Nummer des Buttons, der Username und das Skriptverzeichnis muss man natürlich anpassen.
Dann sichert man die Datei ...config.ini, ruft Textmaker auf, klickt Rechts in die Symbolleiste, in der der Button erscheinen soll.
In der Auswahlbox wählt man in der linken Spalte »Benutzer« und schiebt dann mit gedrückter rechter Maustaste aus der rechten Spalte das gewünschte (und in der config definierte!) Icon an eine passende Stelle in der Symbolleiste. Fertig

Wer keine eigenen Icons erstellen kann oder will, nimmt halt einen der vorhandenenUserButtons mit einer Zahl.

Benutzeravatar
Get
Beiträge: 80
Registriert: 08.12.2014 13:39:39
Kontaktdaten:

Re: Scripte: Vorschlag

Beitragvon Get » 13.10.2017 20:06:32

Hallo,
wer hier ein Skript einstellt, der sollte beim Antworten im Betreff nach Skripte das Thema/den Zweck des Skripts nennen, sonst findet man das nur schwer.


Zurück zu „BasicMaker 2016 für Windows“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast