C#7.3 使用vsto按钮的点击事件获取Word选中的图片,并转换为文件格式,并且将该图片进行替换
时间: 2024-05-15 17:14:17 浏览: 151
c# 提取word文件中图片
3星 · 编辑精心推荐
你可以通过以下步骤获取Word选中的图片,并转换为文件格式,并将其替换为另一张图片:
1. 在你的VSTO项目中创建一个按钮,然后将其绑定到一个点击事件。
2. 在按钮的点击事件中,获取Word应用程序对象以及当前选中内容的范围:
```csharp
Word.Application wordApp = Globals.ThisAddIn.Application;
Word.Range selectedRange = wordApp.Selection.Range;
```
3. 然后,使用 `InlineShapes` 集合来获取选中内容中的所有图片:
```csharp
Word.InlineShapes inlineShapes = selectedRange.InlineShapes;
```
4. 遍历 `InlineShapes` 集合,找到你想要替换的图片,然后将其另存为一个文件:
```csharp
foreach (Word.InlineShape shape in inlineShapes)
{
if (shape.Type == Word.WdInlineShapeType.wdInlineShapePicture)
{
// 获取图片的文件名
string fileName = shape.Range.InlineShapes[1].LinkFormat.SourceFullName;
// 另存为文件
shape.Range.InlineShapes[1].SaveAs("C:\\temp\\" + fileName);
}
}
```
5. 然后,使用 `Replace` 方法将选中内容中的图片替换为另一张图片:
```csharp
selectedRange.Find.Execute(FindText: "old_image.jpg", ReplaceWith: "new_image.jpg", Replace: Word.WdReplace.wdReplaceAll);
```
注意,这里的 `old_image.jpg` 和 `new_image.jpg` 分别是你想要替换的图片和新图片的文件名。
阅读全文