Collapse column

Autor Thema: Office 2010: VBA: Inhaltsteuerelement (Word) in Textmarke einschließen  (Gelesen 4181 mal)

Offline TheaAmanda

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Office 2010: VBA: Inhaltsteuerelement (Word) in Textmarke einschließen
« am: September 10, 2012, 10:02:15 Vormittag »
Hallo,

ich hoffe dass mir jemand helfen kann. Ich habe eine Word Vorlage mit UserForm. In der UserForm wird ein Textfeld ggfls. (wenn CheckBox geklickt ist) angezeigt. Wenn das Textfeld angezeigt wird, dann soll im Dokument einmal links der Inhalt des Textfeldes "normal" stehen [soweit, so gut] und rechts daneben soll der Inhalt als Default-Text in einem Steuerelement gezeigt werden [klappt inzwischen auch].

Das Problem ist jetzt, dass wenn man die UserForm erneut ausführt, dann möchte ich dass das eingefügte durch das neue ersetzt wird. Das mache ich indem bei der ersten Ausführung sofort eine neue Textmarke erstellt wird und den eingefügten Text "umschließt". Das klappt mit normalen Text auch alles Prima, aber bei dem Steuerelement scheitere ich nun. Bei dem Steuerelement bleibt die Textmarke insich geschlossen (also Anfang = Ende) und steht vor dem Steuerelement.

Irgendwie müsste es doch möglich sein dass ich den Range des Steuerelements anspreche, oder? Vielen Dank.

Dim objCC As ContentControl

If TextBox1.Visible = True Then
     If ActiveDocument.Bookmarks.Exists("Feld") Then
            Set Marke1 = ActiveDocument.Bookmarks("Feld").Range
                Marke1.Text = TextBox1.Text & ":"
            ActiveDocument.Bookmarks.Add Name:="Feld", Range:=Marke1
    End If
    If ActiveDocument.Bookmarks.Exists("Feld2") Then
            Set Marke2 = ActiveDocument.Bookmarks("Feld2").Range
            Set objCC = Marke2.ContentControls.Add(wdContentControlText)
                objCC.SetPlaceholderText Text:="[" & TextBox1.Text & "]"
                objCC.Title = TextBox1.Text
            ActiveDocument.Bookmarks.Add Name:="Feld2", Range:=Marke2
    End If
End If

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline TheaAmanda

  • Newbie
  • *
  • Beiträge: 2
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Antw:Office 2010: VBA: Inhaltsteuerelement (Word) in Textmarke einschließen
« Antwort #1 am: September 13, 2012, 17:14:23 Nachmittag »
ich wäre wirklich über jede hilfe dankbar (bitte bitte bitte) - bei der range verlegung steh ich einfach aufm schlauch.

hier meine gehversuche:

Dim objCC As ContentControl
Dim oContentControl As Range
   
If TextBox1.Visible = True Then
     If ActiveDocument.Bookmarks.Exists("Feld") Then
            Set Marke1 = ActiveDocument.Bookmarks("Feld").Range
                Marke1.Text = TextBox1.Text & ":"
            ActiveDocument.Bookmarks.Add Name:="Feld", Range:=Marke1
    End If
    If ActiveDocument.Bookmarks.Exists("Feld2") Then
            Set Marke2 = ActiveDocument.Bookmarks("Feld2").Range
            Set objCC = Marke2.ContentControls.Add(wdContentControlText)
                objCC.SetPlaceholderText Text:="[" & TextBox1.Text & "]"
                objCC.Title = TextBox1.Text
            'Set Marke3 = objCC.Range
                'Set Marke2 = ActiveDocument.objCC(TextBox1.Text).Range
                'Muss noch überarbeitet werden!
                'Selection.Words.Last.Next.Select
                'ActiveDocument.Bookmarks("Feld2").Range.Characters.Last.Select
                'Selection.Collapse wdCollapseStart
                'Selection.TypeText "Material below is confidential."
            'Set oContentControl = SelectedContentControl
            'Set oContentControl = ActiveDocument.ContentControls(1).Range
            'Set oContentControl = objCC.Range
            'oContentControl.Collapse Direction:=wdCollapseStart

            ActiveDocument.Bookmarks.Add Name:="Feld2", Range:=Marke2
    End If
End If

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw:Office 2010: VBA: Inhaltsteuerelement (Word) in Textmarke einschließen
« Antwort #2 am: September 14, 2012, 11:14:24 Vormittag »
Hallo TheaAmanda...

bin jetzt nicht so fit in Word VBA, das Range Objekt ist, laut Objektkatalog schreibgeschützt.
Es sind aber z.B. Eigenschaften, wie Text usw. vorhanden.

Könntest vielleicht den Objektkatalog durchstöbern (VBA Editor -> F2) und angefangen bei
ContentControls zu ContentControl bishin zu Range die Eigenschaften und Methoden
anschauen. F1 auf einen Eintrag liefert die MS VBA Hilfe.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.