Ich habe ein Textfeld in einer GUI eingerichtet, wo der Benutzer Informationen eingeben kann. Diese Zeichenfolge wird dann in einem Textfeld in einer PPT-Folie ausgegeben. Abhängig von der Anzahl der Zeilen, die in der Textbox in der PPT-Folie verwendet werden, muss ich den nächsten Satz von Informationen so viele neue Zeilen unterhalb des Textes aus dem Textfeld eingeben. Hier ist, was ich bisher:Ermitteln der Anzahl der Zeilen in einem Textfeld in VBA
Dies ist der Code, der den Text nimmt der Benutzer in das Textfeld in der GUI und legt sie in das Textfeld in der PPT-Folie eintritt:
Private Sub Location()
With ActiveWindow.Selection.SlideRange.Shapes("WarningData").TextFrame2
'Make sure there is text in the call to action textbox. If not, display an error message.
If C2AText = "" Then
MsgBox "Woah there! You need to enter text in the location/call to action box."
'Otherwise, if text is inserted, place that text in the WarningData box found on the PPT slide.
Else
.TextRange = C2AText
.TextRange.Paragraphs.Font.Size = 21
.TextRange.Paragraphs.Font.Name = "Calibri"
.TextRange.Paragraphs.Font.Shadow.Visible = True
.TextRange.Paragraphs.Font.Bold = msoTrue
End If
End With
End Sub
Dieser Text bestimmt ob irgendetwas in der HailInfo-Dropdownliste ausgewählt ist oder nicht. Wenn ja, muss ich diesen Text zu platzieren, so viele Zeilen unterhalb der C2AText, die im vorherigen Sub eingefügt wurde:
Private Sub HailInfo()
Call Dictionary.HailInfo
ComboBoxList = Array(CStr(HailDropDown))
For Each Ky In ComboBoxList
'On Error Resume Next
With ActiveWindow.Selection.SlideRange.Shapes("WarningData").TextFrame2
'If nothing is selected in HailDropDown, do nothing and exit this sub.
If HailDropDown = "" Then
Exit Sub
'If a hail option is selected, execute the following code.
ElseIf HailDropDown <> "" And C2AText.LineCount = 2 Then
.TextRange = .TextRange & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & dict2.Item(Ky)(0)
ElseIf HailDropDown <> "" And C2AText.LineCount = 3 Then
.TextRange = .TextRange & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & dict2.Item(Ky)(0)
End If
End With
Next
Set dict2 = Nothing
End Sub
Mit dem C2AText.LineCount innerhalb des HailInfo Unter scheint nicht, etwas zu tun. Es wird den Hageltext nirgendwo einfügen, also bin ich mir nicht sicher, was ich falsch mache. Jede Hilfe würde sehr geschätzt werden ... danke !!
Danke, aber diese beiden ElseIf Aussagen sollen zwei verschiedene Dinge tun. Sie fügen eine unterschiedliche Anzahl neuer Zeilen (vbCrLF) ein, basierend darauf, wie viele Textzeilen vom Benutzer in C2AText eingegeben werden. – hunter21188
In dem Code, den Sie geliefert haben, machen beide genau das Gleiche! –
Oh! Guter Fang. Es gibt tatsächlich eine unterschiedliche Anzahl von vbCrLFs in jedem. – hunter21188