Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Eigene Dialogbox definieren
Gehe zu Seite 1, 2  Weiter
zurück: Auswahl in Autokorrektur löschen weiter: Zahl automatisch in Makro übernehmen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Roman1977
VBA-Lehrling


Verfasst am:
20. Feb 2009, 09:57
Rufname:

Eigene Dialogbox definieren - Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hi,
jetzt hab ich es doch mal geschafft mich zu registrieren^^

Ich brauche mal wieder Hilfe bzw. einen Tipp, ich weiss nicht so recht was ich z.B. bei Google suchen muss.

Ich möchte ein eigenes Dialogfenster basteln in dem mehrere Eingabefelder sind und auch Dropdownmenüs möglich sind.

Mit welchem Befehl kann man sowas machen bzw. gibt es ein kleines Beispielscript, wo ich mir die entsprechenden Befehle raussuchen kann?

Danke und Gruß
Roman

EDIT: Wie´s halt so ist findet man was wenn man eine Frage gestellt hat *g* bin ich mit UserForm auf dem richtigem Weg??
ByteHunter
Hat schonmal beim Programmieren zugesehen


Verfasst am:
20. Feb 2009, 10:23
Rufname: Byte


AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Richtig.
Du öffnest eine neue UserForm und ziehst dir mit Hilfe der Werkzeugkiste die gewünschten Steuerlemenete auf das Formular. Das sollte einach und schnell gehen.

Problematischer wird es dann, wenn du die Funktionen bzw. Prozeduren hinter den Elementen erstellen willst. Aber ich denke mit der VBA Hilfe von Word und IntelliSense sollte das auch realisierbar sein.
Roman1977
VBA-Lehrling


Verfasst am:
20. Feb 2009, 11:21
Rufname:

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hi,
das scheint ja recht einfach zu funktionieren, die Werte "global" ins eigentlich Makro zu bekommen und dann weiter zu verwursten.

Aber wie fange ich denn die Tastatureingabe "Esc" ab um das ganze wieder zu schließen? bzw. wie stelle ich fest, dass Esc gedrückt wurde?

Gruß
Roman

EDIT: was mir grade noch auffällt ist das kleine "x" rechts oben, das auch bei fast jedem Programm vorhanden ist - um es zu schließen, wie setze ich denn hier was drauf, wenn es angeklicht wird?
MarcSLK
Word seit 4.0 (DOS


Verfasst am:
23. Feb 2009, 08:37
Rufname:

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hallo,

ESC-Taste in VB6 abfragen (Codebeispiel ungetestet):

Private Sub Form_Load()
KeyPreview = True
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
' ESC ?
If KeyAscii = 27 Then
' zurücksetzen, so dass kein anderes Control die Taste "auswerten" kann
KeyAscii = 0

' MsgBox anzeigen
MsgBox "Anwendung wird jetzt beendet!", vbInformation, "Achtung"
Unload Me
End
End If
End Sub

Eine JA/NEIN-Abfrage in der MsgBox sollte kein Problem sein.

Gruß

Marcus
Roman1977
VBA-Lehrling


Verfasst am:
23. Feb 2009, 16:26
Rufname:


AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hi,
danke, werde ich dann gleich mal testen.

Ich habe noch ein kleines Problem, bei dem ich auf keinen grünen Zweig komme:

Code:
        ActiveDocument.GoTo What:=wdParagraph, Which:=wsGoToAbsolute, Count:=absCurPos


Ich möchte den Cursor auf eine vorher in absCurPos (Absatznummer) ausgerechnete Position stellen, damit der USER hier weitermachen kann ...
"What:=wdParagraph" scheint hier nicht möglich zu sein, wie stelle ich das dann am besten an?

Gruß
Roman
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
23. Feb 2009, 16:45
Rufname:
Wohnort: Leipzig

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hallo Roman,

wenn schon, dann wird entweder die Selection mit GoTo bewegt, oder es wird im ActiveDocument etwas select-ed, z.B.:
Code:
ActiveDocument.Paragraphs(3).Range.Characters(20).Select
Selection.Collapse wdCollapseStart

wobei hinter Paragraphs die Absatznummer steht und hinter Characters die Position des Buchstabens in diesem Absatz, können beides natürlich Variablen sein.

Gruß
Lisa
Roman1977
VBA-Lehrling


Verfasst am:
24. Feb 2009, 08:35
Rufname:

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hi,
ich glaube da wäre ich in 2 Wochen nicht drauf gekommen - funzt einwandfrei
Danke
Roman
Roman1977
VBA-Lehrling


Verfasst am:
25. Feb 2009, 10:10
Rufname:

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hi,
ich hätte noch eine Frage, und zwar geht es um versteckte Texte. Ich hätte gerne, dass sich das Range immer so verrhält als wären sie da. Mit

Code:
rng.TextRetrievalMode.IncludeHiddenText = True


sollte das ja funktionieren, mir ist nur nicht klar wie ich das Ganze handhaben muss, muss man es jeweils setzen wenn das Range verändert bzw. angesprochen wird?
Oder reicht es, das einmal zu setzen?

Gruß
Roman

EDIT:
Was mir auch noch unklar ist, warum liefert denn
Code:
ActiveDocument.Paragraphs.Count

die aktuelle Anzahl aller Absätze, egal ob sie versteckt sind oder nicht. Das Ergebnis unterscheidet sich nicht.

Code:
rng.Paragraphs.Count
unterscheidet sich dann im Ergebnis - weil ein Range nur die am Bildschirm sichtbaren hat??

wie komme bekomme ich das denn hin, wenn sich beide Varianten unterscheiden?
Code:
            para.Range.InsertParagraphBefore
            Set para = ActiveDocument.Paragraphs(lngAbsatz)
            With para
                .Range.InsertBefore inhalt
                .Style = ActiveDocument.Styles(style)
            End With


Ich glaube, Irgendwas verstehe ich hier nicht Rolling Eyes
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
25. Feb 2009, 14:27
Rufname:
Wohnort: Leipzig

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hallo Roman,

also bei mir unterscheidet sich das Ergebnis nicht, wenn der Range gleich ist:
Code:
Sub AbsaetzeZaehlen()

    Dim rng As Word.Range
   
    Debug.Print ActiveDocument.Paragraphs.Count
    Set rng = ActiveDocument.Range
    Debug.Print rng.Paragraphs.Count

End Sub

Liefert jeweils zweimal die gleiche Anzahl. Wenn Absätze als Hidden formatiert sind, werden sie nicht mitgezählt. Kann es sein, dass rng anders definiert war?

Auch
Code:
ActiveDocument.Range.TextRetrievalMode.IncludeHiddenText = True

davorgeschaltet ändert daran nichts.

Gruß
Lisa
Roman1977
VBA-Lehrling


Verfasst am:
25. Feb 2009, 14:35
Rufname:

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hi,

meine Range´s habe ich so definiert:
Code:

    Dim para As Word.Paragraph
    Dim rng As Word.Range


Hat es damit was zu tun?

Gruß
Roman
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
25. Feb 2009, 14:37
Rufname:
Wohnort: Leipzig

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hallo Roman,

nein, das war jetzt ein Missverständnis. Ich wollte wissen, was in rng steht, wenn es von ActiveDocument.Range abweicht? Also
Code:
Set rng = ..........?

Da steht jedenfalls nicht
Code:
Set rng = ActiveDocument.Range

Denn sonst würde das Ergebnis übereinstimmen. Also welchen Range bearbeitest Du?

Gruß
Lisa
Roman1977
VBA-Lehrling


Verfasst am:
25. Feb 2009, 14:45
Rufname:

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hi,
Code:
Set rng = ActiveDocument.Range(Start:=ActiveDocument.Paragraphs(1).Range.Start, End:=para.Range.End)

Mir ist klar, dass es nur ein Teil vom Dokument ist, hier werden dann je nach dem ob versteckter Text mit dabei 16 (29 mit IncludeHiddenText Wink) oder 29 Absätze angezeigt.

Mein Problem ist jetzt wenn ich vom ActiveDocument (was bei mir mit ActiveDocument.Paragraphs.Count) immer die gleiche Absatzanzahl zurückliefert (incl. aller Versteckten und nicht Versteckten - egal ob sie versteckt sind bzw. mit TextRetrievalMode.IncludeHiddenText bearbeitet wurden)

Warum verhält sich das Ganze denn unterschiedlich?
Gruß
Roman
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
25. Feb 2009, 15:16
Rufname:
Wohnort: Leipzig

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hallo Roman,

es kommt darauf an, ob Du den Range explizit in eine Objektvariable packst, oder ob Du einfach ActiveDocument auswertest. Kopier mal das hier:
Code:
Sub AbsaetzeZaehlen()

    Dim rng As Word.Range
   
    Set rng = ActiveDocument.Range

    MsgBox rng.Paragraphs.Count
   
    rng.TextRetrievalMode.IncludeHiddenText = True
       
    MsgBox rng.Paragraphs.Count

End Sub

Hier wird in die Variable rng explizit ein Range eingefüllt. Zuerst wird die Anzahl ausgegeben, bei mir ohne ausgeblendete Abstäze. Danach wird die Variable rng behandelt und danach wieder ausgegeben, diesmal mit ausgeblendeten Absätzen. Bitte lass das einfach mal ablaufen. (Es müssen natürlich ausgeblendete Absätze im Dokument vorhanden sein, klar.) Hier liefert ein und derselbe Befehl (MsgBox-Zeile) unterschiedliche Ergebnisse, je nachdem, ob explizit bei dieser Variable rng der HiddenText eingeschlossen ist oder nicht.

Gruß
Lisa
Roman1977
VBA-Lehrling


Verfasst am:
25. Feb 2009, 15:35
Rufname:

AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hi,
jup das zählt jetzt die Unterschiedlichen.

Ist es dann überhaupt möglich, diese ganze auf ActiveDocument zu übertragen ohne ein "Range" zu bilden? Da bekomme ich nur den Wert ohne die versteckten Absätze.

Code:

    MsgBox ActiveDocument.Paragraphs.Count
    ActiveDocument.Paragraphs(1).Range.TextRetrievalMode.IncludeHiddenText = True
    MsgBox ActiveDocument.Paragraphs.Count


"(1).Range" kann ich irgendwie nicht weglassen, gibt es da eine Möglichkeit?

Gruß
Roman
Lisa
Moderator; Word seit Word 5.0 (für DOS)


Verfasst am:
25. Feb 2009, 15:49
Rufname:
Wohnort: Leipzig


AW: Eigene Dialogbox definieren - AW: Eigene Dialogbox definieren

Nach oben
       Version: Office 2k (2000)

Hallo Roman,

nein, es muss ein Range gebildet werden, um ihn zu behandeln. ActiveDocument ist ein Spezialfall, wenn man das statt rng im obigen Beispiel nimmt, geht es nicht. Aber: Bilde doch einfach einen Range, der den Range von ActiveDocument umfasst. Dein Beispiel:
Code:
    MsgBox ActiveDocument.Paragraphs.Count
    ActiveDocument.Paragraphs(1).Range.TextRetrievalMode.IncludeHiddenText = True
    MsgBox ActiveDocument.Paragraphs.Count

heißt dann mit Range-Bildung so:
Code:
Sub RngBilden()

    Dim rng As Word.Range
    Set rng = ActiveDocument.Range
   
    MsgBox rng.Paragraphs.Count
    rng.TextRetrievalMode.IncludeHiddenText = True
    rng.Paragraphs(1).Range.TextRetrievalMode.IncludeHiddenText = True
    MsgBox rng.Paragraphs.Count
   
End Sub

Ansonsten, kannst Du mal im Klartext erklären, wozu Du das brauchst, was Du genau machen willst und was nicht funktioniert?

Gruß
Lisa
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Formate: Eigene Bildformatvorlage? 9 mtemp 1178 23. Jul 2013, 15:51
Ute-S Eigene Bildformatvorlage?
Keine neuen Beiträge Word Formate: Word Abschnittshöhe definieren 2 beanbear9 196 21. Mai 2013, 15:36
beanbear9 Word Abschnittshöhe definieren
Keine neuen Beiträge Word Formate: Eigene Beschriftung nicht als Querverweis verfügbar 4 hugo30 1156 08. Okt 2012, 17:44
EPsi1 Eigene Beschriftung nicht als Querverweis verfügbar
Keine neuen Beiträge Word Formate: In Gliederungsansicht Ebenen formatieren/definieren 2 He.Ro 188 14. Aug 2012, 16:34
He.Roooo In Gliederungsansicht Ebenen formatieren/definieren
Keine neuen Beiträge Word Formate: eigene Formatvorlagen für jede Spalte eines 2-spaltigen Layo 6 Molder 495 26. Okt 2011, 20:28
cbc042 eigene Formatvorlagen für jede Spalte eines 2-spaltigen Layo
Keine neuen Beiträge Word Formate: Format als Überschrift definieren 4 Schabba 289 19. Aug 2011, 14:54
Schabba Format als Überschrift definieren
Keine neuen Beiträge Word VBA Programmierung (Makros): eigene Symbolleiste nicht in die normal.dot 2 Knelefries 612 22. Jul 2011, 14:43
Knelefries eigene Symbolleiste nicht in die normal.dot
Keine neuen Beiträge Word Formate: Eigene Formatvorlagen aus dotm laden 4 030 1130 12. Okt 2009, 09:53
Hubert_R Eigene Formatvorlagen aus dotm laden
Keine neuen Beiträge Word VBA Programmierung (Makros): Mit VBScript erkennen ob Userform/Dialogbox offen ist 3 Thomander 1828 06. Okt 2009, 13:10
Lisa Mit VBScript erkennen ob Userform/Dialogbox offen ist
Keine neuen Beiträge Word VBA Programmierung (Makros): Erste Zeile jeder Seite als Überschrift definieren!? 7 faabian 2727 02. Sep 2009, 12:46
CHF Erste Zeile jeder Seite als Überschrift definieren!?
Keine neuen Beiträge Word Formate: Doktorarbeit - eigene .dotm - Überschriften Ebene 3 spinnt 2 Franz Gschnitzer 1505 23. Jul 2009, 12:51
HoMa Doktorarbeit - eigene .dotm - Überschriften Ebene 3 spinnt
Keine neuen Beiträge Word Formate: Eigene Formatvorlage bleibt nicht bei Seiten einfügen 0 Johann1 611 19. Jul 2009, 17:25
Johann1 Eigene Formatvorlage bleibt nicht bei Seiten einfügen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: JavaScript