Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 如何在Microsoft Word中从另存为HTML中删除原始图像_Image_Vba_Ms Word - Fatal编程技术网

Image 如何在Microsoft Word中从另存为HTML中删除原始图像

Image 如何在Microsoft Word中从另存为HTML中删除原始图像,image,vba,ms-word,Image,Vba,Ms Word,我正在将活动文档保存为HTML文件,它会自动生成一个子文件夹,其中包含文档的所有内联形状(图片)。我使用了以下代码: ActiveDocument.SaveAs FileName:=HTMLPath, _ FileFormat:=wdFormatHTML, AddToRecentFiles:=True 这正是我想要的,但是对于文档中的每个图像,它会保存一个或两个文件。一句话,这个图像没有被触动。但任何操作(调整大小、着色、裁剪等)都会导致此HTML保存生成原始图像版本并进行编辑。我想删除原件

我正在将活动文档保存为HTML文件,它会自动生成一个子文件夹,其中包含文档的所有内联形状(图片)。我使用了以下代码:

ActiveDocument.SaveAs FileName:=HTMLPath, _
 FileFormat:=wdFormatHTML, AddToRecentFiles:=True
这正是我想要的,但是对于文档中的每个图像,它会保存一个或两个文件。一句话,这个图像没有被触动。但任何操作(调整大小、着色、裁剪等)都会导致此HTML保存生成原始图像版本并进行编辑。我想删除原件。图像只是像image001.png、image002.png等那样递增,所以我无法比较文件名,文件大小可能会不同,等等

如何确定活动文档中的图像是原始图像还是经过编辑的图像?通过这些信息,我假设我可以删除所有其他图像(如果所有图像都经过编辑)或跟踪哪些图像是和哪些图像不是

如果我有一个这样的循环,我可以存储一个数组或其他东西来确定哪些是原始的或编辑的

For Each oILShp In ActiveDocument.InlineShapes
    'if oILShp is not edited, add current index to array
    'loop through array and delete images that have an original and edited version
Next

我认为这是不可能的,因为原始图像显示在Internet Explorer中(带有过滤器,如裁剪),而第二个图像显示在其他浏览器中

针对非IE浏览器的解决方案

删除原始文件时,它将仅在非IE浏览器中可见。如果您想这样做,请以字符串形式打开HTML文件并进行搜索,其中列出了每个文件。如果文件名前面有标记“v:imagedata”,请将其删除。比如说

<v:imagedata src="x_files/image001.jpg"
…并保存文档。最大的缺点是,只有在Internet Explorer中才能看到图像

适用于所有浏览器的解决方案

保存文档时,请使用

 FileFormat:=WdSaveFormat.wdFormatFilteredHTML
图像文件将只有一个,但原始文件将丢失(用于word中的下一次编辑),并且某些格式将丢失。请注意,在非IE浏览器中,文档的外观将与完全格式化时的外观相同,只有IE和Word中才能看到细微的差异

ActiveDocument.WebOptions.RelyOnVML = True
 FileFormat:=WdSaveFormat.wdFormatFilteredHTML