如何使用Powershell将文本插入现有Powerpoint幻灯片

如何使用Powershell将文本插入现有Powerpoint幻灯片,powershell,powerpoint,Powershell,Powerpoint,我试过三种不同的方法,但都没有用 首先是: $s = $presentation.Slides[$targetslide] $tb = $s.Shapes.AddTextbox($horiz,$left,$top,$width,$height) $tb.TextFrame.TextRange.Text = $fla 二是: $f0a = '' #$f1a is text to insert $presentation.Slides[$targetslide].Shapes[1].Tex

我试过三种不同的方法,但都没有用

首先是:

$s = $presentation.Slides[$targetslide]


$tb = $s.Shapes.AddTextbox($horiz,$left,$top,$width,$height) 
$tb.TextFrame.TextRange.Text = $fla
二是:

$f0a = ''
#$f1a is text to insert 
$presentation.Slides[$targetslide].Shapes[1].TextFrame.TextRange.Replace($f0a, $f1a)
第三是:

$s = $presentation.Slides[$targetslide]



$s.Shape[1].TextFrame.TextRange.Text = $fla
两者似乎都不起作用。关于我应该尝试什么,你有什么建议吗?

显然

$f0a=$s.Shapes[5].TextFrame.TextRange.Text

$test = $s.Shapes[5].TextFrame.TextRange.Replace($f0a, $f1a)

非常好。

方法1对我来说很好,使用
(1,0,0,20,20)
作为
AddTextBox
的参数。如果参数正确,方法2也可以工作,将空白作为第一个参数(
$f0a
)传递不会替换任何内容。如果我使用
Shape[1]
而不是
Shape[1]
,那么方法3是有效的。我尝试了这种方法,并且使用了一些打印语句,我发现出于某种原因,它正确地检测到了我要替换的文本以及我要传递给它的内容,但是$s.Shapes[1].TextFrame.TextRange.text=$fla只是在文本框中对文本进行了微调。但是,当我尝试:$f0a=$s.Shapes[5].TextFrame.TextRange.Text$test=$s.Shapes[5].TextFrame.TextRange.Replace($f0a,$f1a)时,效果非常好