我在C#项目中遇到了问题.事实上,我创建了一个PowerPoint加载项,我想在幻灯片上生成图表.
我创建了一张幻灯片:
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Interop.Graph;
Microsoft.Office.Interop.Graph.Chart objChart;
objChart = (Microsoft.Office.Interop.Graph.Chart)objShape.OLEFormat.Object;`
Run Code Online (Sandbox Code Playgroud)
图表是在幻灯片上创建的,但我无法访问要更新或插入的数据.
我尝试使用如下的数据表:
//DataSheet test = objChart.Application.DataSheet;
//test.Cells.Clear()
Run Code Online (Sandbox Code Playgroud)
这删除了图表的数据,但我无法弄清楚如何将值重新插入到图表数据中.
从VBA访问串口的最佳方法是什么?
我需要一些销售代表能够通过PowerPoint中的操作按钮在串口上发送一个简单的字符串.我通常不使用VBA,特别是对于这样的事情.通常我会把它变成某种应用程序,但我实际上并不认为这个想法很糟糕.这将是一个方便的工具,他们可以在投影仪上演示这个设备,并与其他销售人员和非技术人员交谈.此外,这个销售人员对VBA或PowerPoint演示文稿进行小的修改没有问题,但是重新编译.NET应用程序也不会有任何问题.
我知道我们可以通过从动作演示文稿中运行的批处理文件来完成它,但这并不能让我感到非常高兴.我想我们可能会访问一个COM对象并从那里运行,但是我再也没有真正了解在VBA中使用的最新和最好的库,并且如何轻松打开一个快速的小入门也很好,发送和关闭连接.
由于这需要在多人的计算机上运行,如果它可以轻松地传输到其他机器,那将是很好的.我应该可以说它必须在Office 2007和Windows XP上运行.与其他任何东西的兼容性都是一个很好的奖励.
我该怎么办呢?任何好的提示或技巧?图书馆建议?
嘿,我是从C#WinForms应用程序自动化PowerPoint和Excel; 我所做的是从PowerPoint中读取幻灯片并将其保存在Excel中,然后退出这两个应用程序.Excel已成功退出,但PowerPoints未退出.问题是,当我第一次转换它不退出时,但当我再次转换时它确实.
这是我的代码
try
{
PowerPoint.Application ppApp;
PowerPoint.Presentation ppPres;
List<Company> companies = new List<Company>();
ppApp = new PowerPoint.Application();
ppApp.Visible = Microsoft.Office.Core.MsoTriState.msoTrue;
ppApp.WindowState = Microsoft.Office.Interop.PowerPoint.PpWindowState.ppWindowMinimized;
ppPres = ppApp.Presentations.Open(fileTxtBox.Text,
Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoFalse,
Microsoft.Office.Core.MsoTriState.msoTrue);
int slides = ppPres.Slides.Count;
for (int slide = 1; slide <= slides; slide++)
{
int rows = 1;
PowerPoint.Cell cell;
int shape = 1;
for (; shape < ppPres.Slides[slide].Shapes.Count; shape++)
{
if (ppPres.Slides[slide].Shapes[shape].HasTable == Microsoft.Office.Core.MsoTriState.msoTrue)
{
cell = ppPres.Slides[slide].Shapes[shape].Table.Cell(1, 1);
if (cell.Shape.TextFrame.TextRange.Text.Trim().ToLower().Contains("realized"))
{
rows = ppPres.Slides[slide].Shapes[shape].Table.Rows.Count;
break;
}
}
} …Run Code Online (Sandbox Code Playgroud) 我正在构建一个用户上传Powerpoint文件的PHP应用程序.我希望其他用户在线查看而不是下载.(使用谷歌文档等第三方应用程序对用户来说可能有点麻烦)是否可以用PHP编写powerpoint查看器代码?
我正在做一个项目.其中我想找出"我的文本框是否已经滑出幻灯片?" .如果是,则显示错误消息.
所以我的逻辑是,如果我找到幻灯片的尺寸,那么我将在IF中使用它...其他条件如:
If textbox_position < slide_dimension then
#Error
end if
Run Code Online (Sandbox Code Playgroud)
如果您有任何其他想法,请告诉我.
谢谢
当我运行吹码时:
/*** PPT to Image conversion ***/
$ppt_file = 'E:\wamp\www\temp/a.pptx';
$app = new COM("PowerPoint.application") or die("Unable to instantiate PowerPoint");
$app->Visible = true;
$app->Presentations->Open($ppt_file);
$app->Presentations[1]->SaveAs("E:/tmp/outdir",18);
$app->Presentations[1]->Close();
$app->Quit();
$app = null;
Run Code Online (Sandbox Code Playgroud)
它给了我一个例外:
致命错误:未捕获的异常'com_exception',消息' 来源: Microsoft Office PowerPoint 2007
说明: PowerPoint无法打开该文件.' 在E:\ wamp\www\temp\_ video_conversion.php:107堆栈跟踪:#0 E:\ wamp\www\temp\video_conversion.php(107):variant-> Open('E:\ wamp\www\tem ......')在第107行的E:\ wamp\www\temp\video_conversion.php中抛出#1 {main}
我无法弄清楚问题是什么.
我想获得powerpoint 2010功能区中的所有控件列表,如powerpoint选项中的那个 - >自定义功能区 - >所有命令.
此外,我想与自定义加载项的功能区快捷方式进行交互
我试图使用java以编程方式合并一些pptx文档.我想知道如何使用Apache POI实质上这样做,但我试图合并的文件不起作用.
经过重要的搜索和反复试验,我发现原因是pptx文档没有主题信息(例如,如果我点击powerpoint并检查幻灯片主视图是否为空白).如果我转到设计功能区中的主题并选择"办公室主题"或其他主题,则保存.文件将迷人地合并.否则,我遇到以下错误:
Exception in thread "main" java.lang.IllegalArgumentException: Failed to fetch default style for otherStyle and level=0
at org.apache.poi.xslf.usermodel.XSLFTextParagraph.getDefaultMasterStyle(XSLFTextParagraph.java:1005)
at org.apache.poi.xslf.usermodel.XSLFTextParagraph.fetchParagraphProperty(XSLFTextParagraph.java:1029)
at org.apache.poi.xslf.usermodel.XSLFTextParagraph.isBullet(XSLFTextParagraph.java:654)
at org.apache.poi.xslf.usermodel.XSLFTextParagraph.copy(XSLFTextParagraph.java:1044)
at org.apache.poi.xslf.usermodel.XSLFTextShape.copy(XSLFTextShape.java:631)
at org.apache.poi.xslf.usermodel.XSLFSheet.appendContent(XSLFSheet.java:358)
at com.apsiva.main.Snippet.main(Snippet.java:28)
Run Code Online (Sandbox Code Playgroud)
以下是我运行的代码:
package com.apsiva.main;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.xslf.usermodel.SlideLayout;
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFSlideLayout;
public class Snippet {
/** Merge the pptx files in the array <decks> to the desired destination
* chosen in <outputPath> */
public static void main(String[] args) {
try {
FileInputStream empty …Run Code Online (Sandbox Code Playgroud) 我需要在乳胶投影仪和powerpoint中保留一些幻灯片.(这是为其他地方的教练提供幻灯片,其中90%不知道如何使用乳胶,并且不愿意学习它.我是linux上的乳胶人.)
我已尝试通过Libreoffice(和opendocument)的路线,但这并不是很好.现在,我找到的最好的方法是在beamer中创建pdf,然后通过细微的OCR程序运行它来获取MS Word ......甚至不会一直到Powerpoint(这是我真正需要的地方) ).
如果我只有一个标记语言产生了很好的Powerpoint,我可能可以编写一个从markdown到这个中间标记语言的perl翻译器.(从markdown到乳胶beamer相对容易.)
我不认为这存在,但希望永恒.毕竟,现在几乎是2014年.有谁知道解决方案?
有谁知道如何在pptx文件中继承字符样式?我知道它至少是这样的:
a:rPr)a:pPr/a:defRPr)a:lstStyle/a:lvlXpPr/a:defRPr)p:txStyles/(p:titleStyle|p:bodyStyle|p:otherStyle)/a:lvlXpPr/a:defRPr)a:objectDefaults/(a:spDef|a:lnDef|a:txDef)/a:lstStyle/a:lvlXpPr/a:defRPr)p:defaultTextStyle/a:lvlXpPr/a:defRPr)但是,当我将它与其他应用程序的结果进行比较时,它并不匹配.由于技术原因,我不能使用已经为我做这个的库,我自己正在阅读xml.apache POI源TODO:在相关区域有一些标记,我无法理解LibreOffice代码.
编辑:为了进一步解释,我想找到绝对运行属性,而不是相对运行属性.On可以这样想:你有一个投影仪的透明胶片.我希望看到从所有页面创建的图像,而不仅仅是本地页面.