Ich brauche eine anleitung um in OO einen makro zu proggen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Ich brauche eine anleitung um in OO einen makro zu proggen

von Totila » Fr, 09.03.2007 10:29

danke für deine hilfe

aber ich möchte es doh etwas "profihafter" machen

es soll sich ein Dialog(Fenster) öffnen und dann kann man da alles eintragen und dann fügt er es an der richtigen stelle im Dokument ein.


Ich habe schon das dialog gezeichnet und den code geschrieben der es öffnet und schlisst aber ich muss halt die texte in das dokument kriegen

von Nudelfreund » Do, 08.03.2007 16:45

Wenn du mit [STRG]+F9 die Feldnamen einblendest, müsste er in deinem Fall Folgendes anzeigen:


Variable setzen Name = Max Eingabefeld (Variable) Name =


Die erste Eingabe (das Setzen der Variable) kannst du wieder löschen. Um eine neue Variable zu definieren, musst du ihr zuerst einen Wert zuweisen. Der wird dann mit der Funktion "Variable setzen" ins Dokument geschrieben. Das brauchst du danach aber nicht mehr. Im Prinzip kannst du zuerst alle Variablen definieren und anschließend im Text den ganzen Kram wieder löschen. Und dann die Eingabefelder machen, die Variablen hast du ja jetzt. Natürlich kannst du auch erst die Eingabefelder machen und dann das Setzen der Variablen wieder löschen. Ist egal welche Reihenfolge, wichtig ist nur: die "Variable setzen"-Befehle löschen, die "Eingabefeld"-Befehle stehenlassen.
:wink:

BTW kannst du über die Funktion "Variable anzeigen" den Inhalt einer per Eingabefeld (oder Definition) belegten Variable auch später im Dokument anzeigen. Z. B. gibst du über ein Eingabefeld den Nachnamen ein und zeigst ihn oben bei der Anschrift an. Für die Anrede weiter unten brauchst du ihn dann wieder. Hier machst du natürlich kein neues Eingabefeld sondern fügst den Befehl "Variable anzeigen" für die betr. Variable ein. Du kannst auch die Eingabefelder alle in einen gesonderten Bereich (Definition über Einfügen/Bereich) bringen, diesen dann ausblenden und anschließend nur noch mit "Variable anzeigen" arbeiten. Das hätte den Vorteil, dass du die Reihenfolge der Eingabefelder beliebig festlegen kannst (nicht zwangsläufig in der Reihenfolge, in der sie im Brief vorkommen). Der Anwender kriegt davon nichts mit, wenn du diesen Bereich anschließend ausblendest (über Format/Bereiche).

von Totila » Mi, 07.03.2007 16:11

das klapptnicht

ok ich habe ein variable gemacht und die heißt Name und zum einfügen muss amn der ja einen wert geben. Bei mir heißt die Max. wenn ich dannauf hinzufügen klicke kommt ein text im dokument mit dem Namen Max. Dan mache ich ein eigabefehld. Komentar ist Vorname und klcike hinzufügen dann kommt ein fenster da schreibe ich nciht rein und clicke ok. speicher es as OTT und öffne es.


dan kommt ein fenster und ich tippe dan Totila ein und im Dokument steht dann MaxTotila


aber ich will das gar nicht so machen



totila

von Nudelfreund » Mi, 07.03.2007 15:53

Es öffnet sich doch ein Fenster, in dem man nacheinander die benötigten Daten eintragen kann, sobald man das Dokument öffnet. Wichtig ist, dass man das Dokument als Vorlage speichert, dann funktioniert es auch.

von Totila » Mi, 07.03.2007 14:51

danke für deine antwort aber

1.Es fuktioniert irgenwie nicht (kein plan)
2. Mein aufgabe besteht darin es so zu machen das ein Fester(Dialog) öffnet wo man die sachen eintagen kann(Es ist in der schule).



Totila

von Nudelfreund » Mi, 07.03.2007 14:13

Auch auf die Gefahr, dass ich mich wiederhole: ich würde das nicht mit Makros machen, sondern einfach die Feldfunktionen nutzen. Das ist einfacher und muss nicht programmiert werden. Zur Verdeutlichung mal ein Beispiel:

Angeommen, du brauchst für einen Brief die Anrede (Herrn/Frau), den Vornamen und den Nachnamen. Alle Daten sollen über ein Eingabefenster eingegeben und dann im Text benutzt werden. Du gehst wie folgt vor:

Im Menu "Einfügen" den Eintrag "Feldbefehl" aufrufen, dort "Andere". In dem sich öffnenden Fenster klickst du auf den Reiter "Variablen" und wählst dort die Funktion "Variable setzen (linkes Fenster). Unten im Feld "Name" weist du der Variable einen Namen zu (Beispiel: NAME), im Feld "Wert" gibst du einen Wert ein (den kannst du später wieder löschen, wird zunächst zum Anlegen der Variable benötigt - Beispiel: MEIER). Im Fenster rechts wählst du ein Format (Beispiel: TEXT). Dann klickst du auf "Einfügen". Anschließend verlässt du das Menu und gehst mit dem Cursor an die Stelle im Text, an der die Variable NAME eingefügt werden soll. Dort rufst du wieder Einfügen/Feldbefehl/Andere/Variablen auf und wählst die Funktion "Eingabefeld". Im mittleren Bereich (Auswahl) wird dir nun deinen Variable angezeigt, die markiert sein sollte. Du richtest also für diese Variable ein Eingabefeld ein. Dazu gibst du unten bei "Hinweis" einen Hinweistext für den Nutzer ein (Beispiel: "Bitte Nachnamen eingeben:"). Mit "Einfügen" schließt du die Aktion ab. Das Gleiche wiederholst du dann für die übrigen Variablen. Wenn du das Dokument jetzt als Textdokumentvorlage (.ott) speicherst , wird beim nächsten Aufruf ein Eingabefenster eingeblendet, in dem die einzelnen Variablen in der Reihenfolge, in der sie im Text vorkommen, abgearbeitet werden.

Ist IMO wesentlich einfacher als eine Lösung über Makros. :)

von Totila » Mi, 07.03.2007 08:54

weiß es wirklich keiner


Brauche BITTE eure hilfe

von Totila » Mo, 05.03.2007 13:09

ich habe einiges (alles) aus mehrereen büchern.

ok sagen wir wir arbeiten ab jetzt mit dem code

Code: Alles auswählen

Dim oDialog1 as Object

Sub StartDialog

BasicLibraries.LoadLibrary("Tools")
oDialog1 = LoadDialog("Standard", "Dialog1")
oDialog1.Execute()

end sub


Sub endeDialog
      

oDialog1.EndExecute()


End Sub
der nur einfach das dialog auffruft und dan auf ein klick auf ok wieder schliesst. Wie kann ich jetzt den Text aus den Textfelder aus dem Dialog in das dokumnet einfügen?????

von komma4 » Mo, 05.03.2007 12:54

..doch, das wissen einige.

Suche doch mal in den Beispielen, die das Thema hier schon mehrfach besprochen haben.

Dein Code verrät uns ausserdem nicht, wie die Funktion getVariable() gestrickt ist....

von Totila » Mo, 05.03.2007 11:02

weiß keiner wie man den Text aus dem textfeld in ein Dokumet einfügen kann ??????

von Totila » Fr, 02.03.2007 08:05

ok das funktioniert aber immer noch nicht


weiß den keiner wie man einen text aus dem dialog in ein dokument einfügt???

von JanekUseless » Do, 01.03.2007 15:14

Moin,

ich bin hier zwar nicht der Oberexperte, aber wenn ich mal so ganz pauschal auf Deinen Code gucke, dann fällt mir doch auf, dass Du in Zeile drei von "Sub endeDialog" oDlg verwendest, vorher und auch nachher aber immer Dialog1 benutzt wird.

Weitermachen!

von Totila » Do, 01.03.2007 08:21

ok ich schaff es nicht :oops: :lol:


Bitte um hilfe
/edit

Code: Alles auswählen

Dim oDialog1 as Object

Sub StartDialog

BasicLibraries.LoadLibrary("Tools")
oDialog1 = LoadDialog("Standard", "Dialog1")
oDialog1.Execute()

end sub


Sub endeDialog
oDoc = thisComponent

    oDialog1.getControl("Name").text = getVariable(oDoc, "feldname")
	sEintrag = oDlg.getControl("Name").text
	   
  
	   

oDialog1.EndExecute()


End Sub
das habe ich schon aber funkrioniert nicht.

Die variable im Dokument heißt "feldname" und im dialog das textfeld "Name". ich weiß einfach nicht mehr weiter.

von Totila » Di, 27.02.2007 15:18

danke ich probiere es mal aus

von Toxitom » Di, 27.02.2007 13:56

Hey totila,

geh mal ganz an den Anfang dieses Threads, dort hatte ich dir die "Rechnungsvorlage" von der AMT-Seite empfohlen. Das kann ich nur wiederholen. Die erfüllt genau deine Anforderungen.
1. ist diese recht gut dokumentiert
2. kannst du dir dort den Code ansehen und deine benötigten Teile herauslesen, kopieren, lernen etc.

Und wenn es dann noch Detailfragen gibt, so kannst du hier fragen. Das hilft dir sicher mehr, als so ein "Rundumschlag" "...wie geht das...".

Viele Grüße
Thomas

Nach oben