我正在尝试通过C#在PowerPoint中拉伸一张桌子
表格已经从Excel复制到PowerPoint中,问题是粘贴表格内容时,表格内容非常小,无法读取。
我基本上要做的是,将一个HTML文件复制到
Clipboard.SetText(html);将其粘贴到Excel区域
sheet.Range(cellmapp).PasteSpecial();
sheet.Columns.AutoFit();
sheet.Rows.AutoFit();
sheet.UsedRange.Copy(Missing.Value);现在,我想将其粘贴到PowerPoint中的正确位置
foreach (PowerPoint.Slide slide in presentation.Slides)
{
foreach (PowerPoint.Shape pptshape in slide.Shapes)
{
if (!pptshape.Type.ToString().Equals("msoAutoShape") && pptshape.AlternativeText.Contains("|"))
{
if (xlsSheetName == pptSheetName && xlsShapeName == pptxlsShapeName)
{
ppApp.ActiveWindow.View.PasteSpecial();
}
}
}
}它会将我在PowerPoint中的表格复制到我选择的位置。
但问题是,这张桌子真的很薄、很小、很容易上当,因为它太小了。
在C#中有用于此的拉伸函数吗?
谢谢。
发布于 2013-04-03 21:56:23
您还可以:
在Clipboard
Clipboard.GetDataObject clipbordCache = var ();
//在excel中复制...
//粘贴到powerpoint中
var表= slide.shapes.Paste();Clipboard.SetDataObject(clipbordCache);
//调整大小
table.Width = 200;
发布于 2013-04-03 21:03:44
我过去也做过类似的事情--如果我没记错的话,你必须将新表格对象的宽度/height属性设置为更大的值(这取决于工作表的布局),但如果文本太小,Powerpoint可能会忽略它--在这种情况下,只需调整每个单元格的.font.size属性即可。
额外的好处:考虑到excel粘贴的表格的糟糕布局,以及当你修改它时表格对象的缓慢速度,创建一个你喜欢的powerpoint表格,然后将excel中的值粘贴到新表格中可能会更快。只需遍历每个单元格并为.text属性赋值。如果可以使用默认的powerpoint样式,则可以通过编程方式将每个表格设置为一种样式,请搜索表对象的the.style属性。
https://stackoverflow.com/questions/15787347
复制相似问题