Ich versuche, dieses Skript So zu debuggen ich habe, kann man Fehler, die ich nicht in der Vergangenheit erhalten:Wie referenziere ich Text unter TextRange?
Dim pptText As String
pptText = Shape.TextFrame.TextRange
Ich erhalte eine Fehlermeldung Objekt benötigt sagen, und wenn ich dies tun:
Dim pptText
pptText = Shape.TextFrame.TextRange
es wird ohne Fehler ausgeführt werden, aber PptText wird dann nicht auf den gewünschten Text festgelegt. Ich versuche, diesen Teil der Form abzuzugleichen (blau markiert) Ich will es „hee“ zurückzukehren: https://imgur.com/a/wxACT
I
Dim pptText
pptText = Shape.TextFrame.TextRange.Text
versucht habe, aber das ist wahrscheinlich ein lächerlicher Versuch, und tue nicht arbeiten. Ich habe keine Ahnung, was ich an diesem Punkt tun kann. Irgendwelche Hilfe geschätzt!
hatte ich shpe Als Form aber ich bemerkt, dass Sie didnt auch pptText Set = zu nichts. Und das machte mir klar, dass ich auch nichts einstellen musste und es funktionierte! Können Sie mir erklären, btw, was der Unterschied zwischen ‚Set pptSlide = pptPres.Slides _ (PowerPointApp.ActiveWindow.Selection.SlideRange.SlideIndex) und Set pptSlide = Application.ActiveWindow.View.Slide sind? – Pinlop
Hier ist mein ganzer Code: https://pastebin.com/xh0uRPGd Ich bin immer noch nicht sehr sicher, wann ich Set verwenden soll und wann nicht. Meine "iq_Array" -Variable hat jetzt keinen Typ, weil sie mir das gleiche Problem wie "pptText" gibt – Pinlop
Sie verwenden SET, wenn Sie ein Objekt einer Variablen zuweisen (zB EINSTELLEN einer als Shape auf eine bestimmte Form abgeblendeten Variablen) und = wann Zuweisen eines Werts zu einer Variablen (z. B. Ihr pptText, definiert als String-Variable). Übrigens hätte Ihr pptText = Shape.TextFrame.TextRange.Text funktioniert, wenn Sie zuerst Shape = [irgendeine Form auf der Folie] gesetzt hätten, obwohl es, wie PeterT erwähnt, keine gute Idee ist, reservierte Wörter zu verwenden (zum Beispiel Shape)) als Variablennamen. –