Dialog
Moderator: Moderatoren
Re: Dialog
Moin,
wenn ich dich richtig verstehe, hast du bisher nur das Erscheinungsbild deines Dialoges erstellt?
Kennst dich mit Makros nicht aus?
So ein Dialog funktioniert ohne Makro(s) leider nicht.
Es führen dabei viele Wege nach Rom.
Du schreibst auch nicht, mit welchem Pogrammteil von OpenOffice du deine Serviceberichte schreiben willst.
Calc Tabellenkalkulation?
Writer Textverarbeitungsprogramm?
DIe Makros sehen je nach Programmteil unterschiedlich aus.
Reichlich Lesenswertes zu Makros findest du ganz oben in diese Forumsrubrik:
Informationen zur StarBasic-Programmierung
Hier gibt es etwas zu Dialogen.
Am Besten ist, du hängst hier mal so einen Servicebericht an, und erklärst genau welche Werte du über den Dialog wohin einlesen möchtest.
Gruß R
wenn ich dich richtig verstehe, hast du bisher nur das Erscheinungsbild deines Dialoges erstellt?
Kennst dich mit Makros nicht aus?
So ein Dialog funktioniert ohne Makro(s) leider nicht.
Es führen dabei viele Wege nach Rom.
Du schreibst auch nicht, mit welchem Pogrammteil von OpenOffice du deine Serviceberichte schreiben willst.
Calc Tabellenkalkulation?
Writer Textverarbeitungsprogramm?
DIe Makros sehen je nach Programmteil unterschiedlich aus.
Reichlich Lesenswertes zu Makros findest du ganz oben in diese Forumsrubrik:
Informationen zur StarBasic-Programmierung
Hier gibt es etwas zu Dialogen.
Am Besten ist, du hängst hier mal so einen Servicebericht an, und erklärst genau welche Werte du über den Dialog wohin einlesen möchtest.
Gruß R
Zuletzt geändert von F3K Total am Fr, 30.10.2020 14:00, insgesamt 1-mal geändert.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Dialog
Na,
das sieht ja doch schon gut aus, hänge bitte kein Bild, sondern deine Writerdatei hier an.
Der Dialog und das Makro müssen in der Datei enthalten sein, dazu
Jetzt kannst du die Datei hier im Forum anhängen. Gruß R
das sieht ja doch schon gut aus, hänge bitte kein Bild, sondern deine Writerdatei hier an.
Der Dialog und das Makro müssen in der Datei enthalten sein, dazu
- öffnest du die deine Datei, speicherst sie unter einem neuen Namen ab.
- Dann öffnest du die Basic-Umgebung, und navigierst zu "Meine Makros/Standard/Module1", da wirst du das Makro und den Dialog abgespeichert haben.
- jetzt klickst du auf "Verwalten"
- Drücke links unten auf das + Zeichen vor deiner Datei, so dass du die Standard-Bibliothek der Datei siehst.
- halte die STRG-Taste gedrückt, und ziehe das oben markierte Modul unter die untenstehende Standard-Bibliothek, um eine Kopie des Dialoges und des Makros in der Datei anzulegen, siehe Bilder.
- Führe das Gleiche auf dem Reiter Dialoge durch
- schließe die Basicumgebung und speichere die Datei.
Jetzt kannst du die Datei hier im Forum anhängen. Gruß R
Zuletzt geändert von F3K Total am Fr, 30.10.2020 16:55, insgesamt 1-mal geändert.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Dialog
Erstmal 1.000 Dank, ich selbst bin php Programmierer, bin neu bei Makros bzw. Desktop-App-Entwicklung.
Hier mal die Datei.
Wie Makros funktionieren ist eigentlich klar, ich habe aber nur noch Verständisfehler:
- Wie bringe ich das Dialogfenster dazu bei jedem Öffnen des Dokuments zu erscheinen,
- Wie übergebe ich die Werte aus dem Dialogfenster an mein Dokument.
Liebe Grüße
Thomas
Hier mal die Datei.
Wie Makros funktionieren ist eigentlich klar, ich habe aber nur noch Verständisfehler:
- Wie bringe ich das Dialogfenster dazu bei jedem Öffnen des Dokuments zu erscheinen,
- Wie übergebe ich die Werte aus dem Dialogfenster an mein Dokument.
Liebe Grüße
Thomas
- Dateianhänge
-
- Servicebericht Beispiel.odt
- (17.04 KiB) 59-mal heruntergeladen
Re: Dialog
Moin,
ich habe gedacht, der Dialog käme mit, hat so wie beschrieben nicht geklappt, (habe den Beitrag oben, siehe rote Schrift, nachträglich editiert, so dass auch der Dialog mitkommt) habe ihn kurz nachgebaut.
Bei den Makros des angehängten Dokumentes ist es wichtig, dass die Textfelder im Dialog EXAKT den Namen tragen, den die Platzhalter im Text haben.
Gruß Rik
ich habe gedacht, der Dialog käme mit, hat so wie beschrieben nicht geklappt, (habe den Beitrag oben, siehe rote Schrift, nachträglich editiert, so dass auch der Dialog mitkommt) habe ihn kurz nachgebaut.
Bei den Makros des angehängten Dokumentes ist es wichtig, dass die Textfelder im Dialog EXAKT den Namen tragen, den die Platzhalter im Text haben.
Gruß Rik
- Dateianhänge
-
- Servicebericht Beispiel.odt
- (17.6 KiB) 81-mal heruntergeladen
Zuletzt geändert von F3K Total am Fr, 30.10.2020 16:57, insgesamt 1-mal geändert.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Dialog
1000 Dank, jetzt ist mir das auch mit der Übergabe klar.
Wenn ich mal was für dich tun kann, schick mir eine PN über das Forum
Gruss
Thomas
Wenn ich mal was für dich tun kann, schick mir eine PN über das Forum
Gruss
Thomas
Re: Dialog
Noch eine Frage:
wie kann ich die Platzhalter bzw. Variablen im Dokument ändern?
Liebe Grüße
Thomas
wie kann ich die Platzhalter bzw. Variablen im Dokument ändern?
Liebe Grüße
Thomas
Re: Dialog
Moin,
Menü Einfügen/Feldbefehl/Andere... (STRG+F2) dann Reiter Funktionen, links Platzhalter anwählen, Format Text, rechts oben den Namen angeben, dann Einfügen klicken.
Gruß R
Menü Einfügen/Feldbefehl/Andere... (STRG+F2) dann Reiter Funktionen, links Platzhalter anwählen, Format Text, rechts oben den Namen angeben, dann Einfügen klicken.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Dialog
Moin,
ich habe noch eine andere Möglichkeit gefunden, ohne Platzhalter:
Mit diesen Makros werden die in deinem Bericht liegenden Tabellen ausgelesen. Hier ist es wichtig, dass die Textfelder im Dialog EXAKT den Namen tragen, den die Benennungen in der ersten Spalte deiner Tabellen tragen. Also die Doppelpunkte löschen, oder die Dialogfelder umbenennen.
Mit dem zusätzlichen Code Teil:wird der Text im Dialogfeld "Name" bereits vorausgewählt, so dass du direkt lostippen kannst.
Gruß R
ich habe noch eine andere Möglichkeit gefunden, ohne Platzhalter:
Code: Alles auswählen
sub Dialog1Show
ThisComponent.DialogLibraries.Loadlibrary("Standard")
oDialog1 = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
oControlName = oDialog1.GetControl("Name")
oSelection = oControlName.Selection
oSelection.Min = 0
oSelection.Max = Len(oControlName.Text)
oControlName.Selection = oSelection
oDialog1.execute
for i = 0 to ubound(oDialog1.Controls)
oControl = oDialog1.Controls(i)
if oControl.supportsservice("com.sun.star.awt.UnoControlEdit") then
sName = oControl.Model.Name
sText = oControl.Model.Text
Fill_Texttable(sName,sText)
'Fill_Placeholder(sName,sText)
endif
next i
end sub
function Fill_Texttable(sName,sText)
oTexttables = ThisComponent.Texttables'Textfields.createEnumeration
for i = 0 to oTexttables.count - 1
oTexttable = oTexttables(i)
for j = 0 to oTexttable.Rows.count - 1
oNameCell = oTexttable.getCellByPosition(0,j)
if oNameCell.String = sName then
oTextCell = oTexttable.getCellByPosition(1,j)
oTextCell.String = sText
end if
next j
next i
end function
Mit dem zusätzlichen Code Teil:
Code: Alles auswählen
oControlName = oDialog1.GetControl("Name")
oSelection = oControlName.Selection
oSelection.Min = 0
oSelection.Max = Len(oControlName.Text)
oControlName.Selection = oSelection
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO