图像缩略图

聪明的PowerPoint出口国

版本1.7.0.0(19.1 KB)通过 德米特里Aronov
出口MATLAB图形到PowerPoint。修复直接在PowerPoint格式,以方便编辑。
4.9
18评级

19下载

更新2011年2月18日

查看许可证

编者按:该文件被选为中央MATLAB周中精选

这项计划出口Matlab的数字到PowerPoint,并将其转换成一组PowerPoint对象的。然后它编辑直接在PowerPoint各种对象属性,使得该图中可以在不中断的外观,对准等被容易地修改

方案特点:
(见截图简易)

- 使用Matlab的工具栏上的添加的按钮或使用命令行代码的出口。

- 适用正确对齐和锚定到所有轴标签,刻度标签和文本框,以便它们不会成为下错位图调整大小或在PowerPoint中字体更改。

-确定对数和科学符号轴,并在PowerPoint中应用上标。这可以防止将每个上标标签拆分为两个文本框,这在标准的复制粘贴到PowerPoint时发生。

- 将每个TEX-格式化文本框成一个单一的适当地格式化的PowerPoint文本框。这防止了TEX盒分解为多个对象。所有特殊TEX字符转换为Unicode转换。

-删除不必要的背景颜色/轮廓对象的结果,从标准的复制粘贴,改为直接编辑这些PowerPoint功能。

——结合件每个跟踪到一个幻灯片组对象允许简单的编辑。

允许导出对象密集的部分作为位图,而留下其他部分在可编辑的元文件格式。

- 允许同时指定图元文件和位图图形部件的图像分辨率。

- 允许指定PowerPoint幻灯片到图中导出。

-允许指定输出图形的大小和位置。

——允许分组对象的速度和bulk-editing PowerPoint。

引用作为

德米特里Aronov(2020年)。聪明的PowerPoint出口国(//www.tatmou.com/matlabcentral/fileexchange/30124-smart-powerpoint-exporter),MATLAB中央文件交换。检索

评论和评分(40

NISCHAL SEHRAWAT

任何一个可以请张贴一个例子,如何使用这个功能呢?我有一个很难计算出来

洛朗服装设计师

喜延,

我现在使用你的函数toPPT(numfig,'format','vec')代替pptfigure(numfig)得到相同的结果!
非常感谢延,

洛朗

延斯·里希特

喜洛朗,

它为我工作时,我只是做了一个“尝试捕捉”什么是真正忽略了这一行。但我犯我一般改变了很多代码。If you are interested you can check my toPPT that is using "Smart PowerPoint Exporter" functionality in addtion to other features becuase I think Smart PowerPoint Exporter is not really maintained anymore :-( . E.g. you can just extract the part that you are interested in from toPPT.

最好,

洛朗服装设计师

嗨,我也有使用具有Matlab14b和电源点2013年这个伟大的功能问题,我根据克里斯的建议修改的功能,但另一个错误出现:
错误使用Interface.9149347A_5A91_11CF_8700_00AA0060263B /组
错误:对象返回错误代码:0x800A01A8

pptfigure错误(行911)
集(PIC, '左',0, '顶',0,...
是否有人有一个建议,以解决这个问题?先感谢您,
洛朗

南河

你好孙健,我有一个类似的错误(虽然我不使用Mac,但我不认为这事)。我上线560错误,发出类似的呼吁:num2str(H)。

H是图形的句柄,它包含许多属性。在Matlab 2014b中,图形句柄的类型不再是'double',它不是一个对象。根据Mathworks文档(//www.tatmou.com/help/matlab/graphics_transition/graphics-handles-are-now-objects-not-doubles.html),你可以不再“[转换]句柄到字符串操作字符串或使用手柄”。

也许num2str(H)的每个实例都应该由num2str(H.Number)所取代。这包括67号线和560线(还有其他人)。

做出这样的转变,虽然以后,我对新的错误:

使用Interface.9149347A_5A91_11CF_8700_00AA0060263B错误/ GET
错误:对象返回错误代码:0x800A01A8

误差在pptfigure(线564)
metaWidth = GET(PIC, '宽度');

当我认为使用get(PIC)的“PIC”的对象,大多数的属性报告错误。

孙立坚

您好,我有麻烦使用它。我在的MacBook Pro使用它R2014b。是不是对我所产生的导出按钮。我得到的错误信息是下面,有什么想法?
未定义功能“腹肌”类型“matlab.ui.Figure”的输入参数。

num2str中的错误(第66行)
xmax =双(max (abs (widthCopy (:))));

pptfigure中的错误(第67行)
uipushtool(工具栏, 'CData的',get_ppt_image,...

克里斯

我发现埃里克·桑普森在“saveppt2”的评论中提出了一个很好的解决方案,可以完美地与“pptfigure”和PowerPoint 2013兼容。

这里遵循他原单的评论:

----

大家好,对于那些在使用PowerPoint 2013时遇到错误的人,要纠正这个问题,你可以替换以下行:
PIC1 =调用(new_slide.Shapes, '粘贴');

由以下两行组成:

picShapeRange =调用(new_slide.Shapes, '粘贴');
pic1 =调用(picShapeRange“项目”1);

使用旧版本的PowerPoint时,此修复程序仍然可以工作。

----

一切我所做的就是要修改如下,一切工作像以前一样:

picShapeRange =调用(new_slide.Shapes, '粘贴');%或:picShapeRange =调用(slide.Shapes, 'PasteSpecial的',3);(按要求)
PIC =调用(picShapeRange, '项目',1);

最好的祝福,
克里斯

月桂树

还不是...我只能由具有2007年PowerPoint中打开,然后将幻灯片到PowerPoint 2013年。这不完全优雅,但它的工作,得到这个工作。这个问题似乎是actxserver设计工作与旧版本的PPT呼叫。

亚伊尔Churi

劳瑞尔,看来我也看到了同样的失败。你能解决这个问题吗?

使用Interface.9149347A_5A91_11CF_8700_00AA0060263B错误/ GET
错误:对象返回错误代码:0x800A01A8

误差在pptfigure(线564)
metaWidth = GET(PIC, '宽度');

月桂树

我有同样的问题,因为迭戈。
我在Windows 7操作系统上运行Matlab的R2014a,试图使用PowerPoint 2013进行交互。
我得到以下错误:

使用Interface.Microsoft_PowerPoint_12.0_Object_Library.ShapeRange错误/ GET
错误:对象返回错误代码:0x800A01A8

误差在pptfigure(线564)
metaWidth = GET(PIC, '宽度');

错误而评估uipushtool ClickedCallback

有谁知道用较新版本的PPT是什么改变?我真的想使用此功能。

朱利安Hapke

我认为功能( 'COM_SafeArraySingleDim',1)
应该被重置为0时,该功能已经完成,因此matlabs默认行为被恢复

卡尔Witthoft

也许应该包括警告,地块将被转储到当前打开PPT文档:-)。爱从命令行(而不是通过按钮)来执行,从而允许多条曲线的自动脚本的选项。
也很方便,但隐藏在HTML文档页面:能力的地方新的PPT页面在当前位置(开放)的PPT文档,而不是附加到现有幻灯片集。

延斯·里希特

嘿,

我最近发现这个好剧本,什么是不幸的是没有complety最新的兼容性方面确实有时相当困难的使用。
无论如何伟大的工作。我也面临着不同的问题。他们中的大多数可以用这个线程的帮助下得到解决,相信的,或不与傅**荷兰国际集团手动:-D

我还哪里能“理解和工作以防万一”,一些你所提到的一个问题:

???调用错误,调度异常:
来源:Microsoft PowerPoint 2010中
描述:ShapeRange。物品:整数超出范围。2不在Index的有效范围1到1中。
帮助文件:
帮助上下文ID:0

看来,这最有可能发生在点在情节的数量高。这发生在我身上时,我用令pColor用的数据点数量较大。
一个工作循环是简单地导出这个图作为图像通过(让我们假设它是图1):

pptfigure(图1, 'BitmapResolution',200);

%200表示分辨率

您还可以使用其他属性“BitmapResolution” =>看一看到手动;-)

最好,

亚历克斯·泰勒

弗雷德里克,这是不令人满意的,但如果你只是注释掉线961程序工作与PowerPoint的新版本。

弗雷德里克

我用pptfigure来复制图形,效果很好。但几个星期,它似乎不工作了,我得到以下错误信息:

使用Interface.9149347F_5A91_11CF_8700_00AA0060263B错误/套
调用错误,调度异常:错误未指定

pptfigure错误(第961行)
“重量”,集(lineObj获得(对象(obj)、“线宽”));
有没有人对如何解决这一问题的爱迪?
先感谢您

作诗者杨

我用数字复制到PowerPoint中,取消组合它,编辑对象,并再次将它们分组;非常繁琐。此功能可以完成所有自动!这很棒!奇迹般有效!感谢您做的伟大工作!

斯科特·奥特森

很有用!

Nevzus

你好,
我要寻找这类应用的无处不在,但无法找到为Mac兼容版本。这能工作取得的Mac呢?
谢谢, - NG

迭戈

你好,

我用的是matalb 2012b和powerpoint 2013。我试着用这个,但是我得到了

“错误使用Interface.9149347A_5A91_11CF_8700_00AA0060263B /
错误:对象返回错误代码:0x800A01A8

误差在pptfigure(线564)
metaWidth = GET(PIC, '宽度');

在评估uipushtool ClickedCallback时出错"

Darik公司

人文国林

马特·凯伍德

总体来说,这一功能是好的,但很挑剔。这是我发现得到的矢量图形出Matlab的最好的方式,但它不适合初学者。

我钦佩作者挖掘Matlab图形的沼泽,这是连Mathworks都不敢触及的。

马特·凯伍德

如果我的身材比* *正是1253像素宽,pptfigure不会将它复制到PowerPoint(2010)正确的 - 它会留下一个流浪垃圾“编码”轴左上的幻灯片。

该轴是由创建
线561:PIC =调用(slide.Shapes, 'PasteSpecial的',3);

并假定由线601被破坏(但不完全破坏):调用(PIC,“删除”);

丹尼尔

丹尼尔

刚拿到这款绝对赞叹不已。这使得从MATLAB情节看起来很干净PowerPoint中。绝对必须的!

克莱尔

它的伟大工程,但它不保留透明度我图中的“填充”的设置。任何想法,我怎么可以添加?
谢谢!

丹尼尔Helmick

作品在大多数情况下大。我真的很喜欢这个。

也没有正确捕获的情节,如果线在复制过程中关闭。

约阿希姆

达伦

这是一个奇妙的文件。但是,我碰上尝试导出文本与sprintf函数的麻烦。它结束了省略文字。思考?

本杰明

截至2012年2月,pptfigure似乎没有正确地将颜色条导出到Power Point。我对代码做了两个改变,使colorbars工作(在第874行和第1109行):
@@ -874 6 +874 18 @@
如果〜的isEmpty(FIND(传说==对象(OBJ),1))
集(GET(对象(OBJ), '孩子'), '看得见', '上');
结束
+ if strcmp(get(objects(obj),'Tag'), 'TMW_COLORBAR')
对于颜色条,父轴需要可见。
+集(GET(对象(OBJ), '父'), '可见', '上');
+%制作彩条通过清除蜱暂时看不到他们的
+%的文本,但保留彩条轴相同的位置的标签。
+ ytick =获取(GET(对象(OBJ), '父'), 'ytick');
+ cbar_lbl = findobj(对象, '类型', '文本',...
+ '父',得到(对象(OBJ), '父'));
+ cbar_lbl_pos = get(cbar_lbl,'Position');
+集(get(对象(obj),“父”),“ytick”,[]);
+集(cbar_lbl,{ '位置'},cbar_lbl_pos);
+端
集(对象(FIND(不可见)), '可见的', '关闭');%#确定

%设置的轴到原始值的位置
@@ -1109,6 +1121,10 @@
如果的strcmp(类型, '文本')
集(对象(obj),“翻译”,翻译);
结束
+ if strcmp(get(objects(obj),'Tag'), 'TMW_COLORBAR')
+%还原YTick值彩条轴
+集(GET(对象(OBJ), '父'), 'ytick',ytick);
+端
结束
结束

问题是,当它的“Visibile”属性被设置为“on”时,包含在colorbar轴中的图像不显示。

家伙

休的问题一样,如果我已经有PowerPoint中打开,它的伟大工程。如果不是,如果我尝试使用这个无论从命令行或图形按钮,我得到以下错误:

???调用错误,调度异常:
资料来源:Microsoft Office PowerPoint 2007
说明:Application.ActiveWindow:无效的请求。目前尚无
活动文档窗口。
帮助文件:
帮助上下文ID:0

误差==>在343 pptfigure
风= (ppt,“ActiveWindow”);

???错误而评估uipushtool ClickedCallback

嗨,我输入了"pptfigure",什么也没发生。我做错了什么?

蒂姆

优秀的程序!

我最初曾与PowerPoint幻灯片的传说问题。出于某种原因,如果符号是一个圆(“O”)或正方形(“S”)时,它被移除。如果我改变了符号不是圆形或正方形以外的东西,它似乎是好的。作为一个临时的解决办法,我注释掉线939,和所有符号做到了。

如果938的isEmpty(deblank(TXT))返回939%的invoke(pic.Item(c)中, '删除');

如果你有更好的修复,请让我知道。

谢谢!

桑德Aerts

我有同样的问题,因为鲍里斯。当我运行以下命令:
>>全部清除,关闭所有
> >(~) =山峰;视图(2);
>> pptfigure(1);
???调用错误,调度异常:
来源:Microsoft PowerPoint 2010中
描述:ShapeRange。物品:整数超出范围。2不在Index的有效范围1到1中。
帮助文件:
帮助上下文ID:0

==> pptfigure在926出现错误
调用(pic.Item(2), '删除');

基本上相同的错误,但再与2010年的PowerPoint但它确实创建幻灯片,但所创建的对象在某种程度上似乎是完全空白。
如果它工作正常,我肯定会使用这个工具。

道格·哈里曼

鲍里斯

我试图与在Windows XP SP3的PowerPoint 2010 SP1,用Matlab 2010A。该按钮出现,当你点击它,它会打开PowerPoint中,但随后只产生一个空白幻灯片......没有给出错误,但它似乎没有工作(不幸)...我试图出口的混合区和线情节。

尤里K

我很高兴这个功能。但是否与PowerPoint 2007中工作吗?不是为我工作。MATLAB 2011A。
pptfigure没有打开figure并且没有返回错误。如果我自己创建图形,那么:
> > pptfigure (gcf)
???调用错误,调度异常:
资料来源:Microsoft Office PowerPoint 2007
描述:ShapeRange。物品:整数超出范围。2不在Index的有效范围1到1中。

费德里科Miorelli

伟大的想法,非常容易使用!
我有一些的情节类型的问题,但:例如,如果我用绘制任何令pColor出口矩阵时,我得到一个错误。

谢谢!

艾蒂安

嗨,他在

我的标题轴标签被重复多次。我在核对原件,但只有一个实例。你有没有见过这个问题吗?

克里斯蒂娜

这出口商真棒。你不会有再生MATLAB的数字让他们清晰,重新调整次要情节,功能,改变颜色,字体大小,添加或删除刻度线两轴之间距离的变化,你的情节删除的部分,你不希望你的幻灯片等,这需要最疼痛的不与MATLAB图形工作的:)谢谢:) :) :)

更新

1.7.0.0

-增加了图形/轴背景颜色导出选项-增加了位图导出选项-增加了图像分辨率属性-增加了对TEX格式的完全支持-修正了小错误金宝app

1.5.0.0

修正了科学轴导出期间的小错误

1.4.0.0

校正文档/确认错字

1.2.0.0

改进的速度,更好的文档,固定TEX出口BUG,增加了一些可选的输出特性。

MATLAB版本兼容性
创建R2010a
与任何版本兼容
平台兼容性
视窗 苹果系统 Linux的
确认

启发:saveppt

启发:Colormouse