如何设置excel中的页边距?

特招 2004-10-28 11:15:35
AnsiString fileName = PubPrintForm->edtSaveDir->Text;
if (FileExists(fileName))
{
if (MessageDlg("文件已经存在,是否删除?",mtWarning,TMsgDlgButtons()<<mbOK<<mbCancel,0)==mrOk)
{
DeleteFile(fileName);
}
else
{
ShowMessage("放弃操作");
return;
}
}
//导出到Excel开始
Variant excelApp,workBook,aft,sheetA,range,bef;
//检查机器是否安装了Office
try{
excelApp = CreateOleObject("Excel.Application"); //打开excel应用程序
}
catch(...)
{
ShowMessage("运行Excel出错,请检查本机是否安装了Office!");
return;
}
excelApp.OPS("Visible",true); //使应用程序可见
//建立一个新的excel文件
workBook = excelApp.OPG("WorkBooks").OFN("Add");
//workBook.Exec(PR("Add"));
workBook = excelApp.OPG("ActiveWorkBook");//打开工作簿
//显示存在的sheet的数目
int count = workBook.OPG("sheets").OPG("count");
aft = workBook.OPG("sheets",count);
workBook.OPG("sheets").OPR("Add",bef.NoParam(),aft);
sheetA = workBook.OPG("ActiveSheet");
sheetA.OPS("name","表一");
//设置表一为横向页面打印 横向用"xlLandscape",纵向用"xlPortrait"
sheetA.OPG("PageSetup").OPS("Orientation",2);
/*************************如何设置页边距*************************/

//关闭警告提示
workBook.OPG("Application").OPS("DisplayAlerts",false);
//另存为
workBook.OPR("SaveAs",fileName.c_str());
//关闭工作簿
workBook.OPR("Close");
//关闭excel程序
excelApp.OFN("Quit");
//结束,如果没有如下代码,Excel线程直到应用程序退出才结束
excelApp=Unassigned;
workBook=Unassigned;
aft=Unassigned;
sheetA = Unassigned;
range = Unassigned;
ShowMessage(title+"导出成功!");
...全文
1960 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
特招 2004-10-29
  • 打赏
  • 举报
回复
我试验过了,一般在Excel中设置的相应边距值,需要乘以28.5
我试验的OFFICE版本是XP,BCB6
// 在Excel中设置相应的边距值,在BCB中写入时乘以28.5
sheetA.OPG("PageSetup").OPS("LeftMargin", 3 * 28.5); // 左边距3
sheetA.OPG("PageSetup").OPS("RightMargin", 4 * 28.5); // 右边距4
sheetA.OPG("PageSetup").OPS("TopMargin", 1 * 28.5); // 上边距1
sheetA.OPG("PageSetup").OPS("BottomMargin", 2 * 28.5); // 下边距2
sheetA.OPG("PageSetup").OPS("HeaderMargin", 1.1 * 28.5); // 页眉1.1
sheetA.OPG("PageSetup").OPS("FooterMargin", 1.2 * 28.5); // 页脚1.2

多谢妖哥
特招 2004-10-28
  • 打赏
  • 举报
回复
自己up
hailin10 2004-10-28
  • 打赏
  • 举报
回复
学习
milkwayhong 2004-10-28
  • 打赏
  • 举报
回复
up
ccrun.com 2004-10-28
  • 打赏
  • 举报
回复
录了一段宏,改成BCB的。
没有太多时间,所以没有测试,自个试试吧。

sheetA.OPG("PageSetup").OPS("LeftHeader","");
sheetA.OPG("PageSetup").OPS("CenterHeader","");
sheetA.OPG("PageSetup").OPS("RightHeader","");
sheetA.OPG("PageSetup").OPS("LeftFooter","");
sheetA.OPG("PageSetup").OPS("CenterFooter","");
sheetA.OPG("PageSetup").OPS("RightFooter","");

// 在Excel中设置的相应边距值,在BCB中写入时乘以0.39
sheetA.OPG("PageSetup").OPS("LeftMargin", 3 * 0.39); // 左边距3
sheetA.OPG("PageSetup").OPS("RightMargin", 4 * 0.39); // 右边距4
sheetA.OPG("PageSetup").OPS("TopMargin", 1 * 0.39); // 上边距1
sheetA.OPG("PageSetup").OPS("BottomMargin", 2 * 0.39); // 下边距2
sheetA.OPG("PageSetup").OPS("HeaderMargin", 1.1 * 0.39); // 页眉1.1
sheetA.OPG("PageSetup").OPS("FooterMargin", 1.2 * 0.39); // 页脚1.2

sheetA.OPG("PageSetup").OPS("PrintHeadings", false);
sheetA.OPG("PageSetup").OPS("PrintGridlines", false);
sheetA.OPG("PageSetup").OPS("PrintComments", -4142); //xlPrintNoComments
sheetA.OPG("PageSetup").OPS("PrintQuality", 600);

sheetA.OPG("PageSetup").OPS("CenterHorizontally", true);
sheetA.OPG("PageSetup").OPS("CenterVertically", false);
sheetA.OPG("PageSetup").OPS("Orientation", 1); //xlPortrait
sheetA.OPG("PageSetup").OPS("Draft", false);

sheetA.OPG("PageSetup").OPS("PaperSize", 9); // xlPaperA4
sheetA.OPG("PageSetup").OPS("FirstPageNumber", -4105); //xlAutomatic
sheetA.OPG("PageSetup").OPS("Order", 1); //xlDownThenOver
sheetA.OPG("PageSetup").OPS("BlackAndWhite", false);
sheetA.OPG("PageSetup").OPS("Zoom", 100);
sheetA.OPG("PageSetup").OPS("PrintErrors", 0); // xlPrintErrorsDisplayed
特招 2004-10-28
  • 打赏
  • 举报
回复
高手帮忙解决啊
一、网设计与策划01 网与网站的概念02 网核心技术(HTML/CSS/JAVASCRIPT)简介03 什么是HTML04 什么是CSS05 什么是JavaScript06 网的设计流程07 HTML5概述、浏览器及内核08 编写第一个HTML面09 HTML面基本结构10 章节练习二、网的基本实现(HTML标签)01 HTML基本语法02 标签及属性03 标签04 标题标签05 段落标签06 水平分隔线标签07 换行标签08 文本的格式化标签09 特殊字符标签10 图像标签14 相对路径与绝对路径11 章节练习-《清平乐》12 章节练习-《李清照简介》13 章节练习-《家电排行》15 章节练习-《百度网简介》16 超级链接标签17 锚点链接18 影像地图19 《table》表格标签20 无序列表标签21 有序列表标签22 定义列表标签23 章节练习-《工资明细》24 章节练习-《我的电脑》25 章节练习-《在线考试》三、层叠样式表01 CSS简介02 CSS样式规则03 CSS样式的调用方法04 标签选择器05 类选择器06 ID选择器07 标签指定式选择器08 包含(后代)选择器09 群组选择器10 通配符选择器11 属性选择器12 关系选择器13 链接伪类选择器四、样式属性01 字体属性02 文本属性03 阴影效果04 对象内溢出文本05 背景设置06 定义列表的样式五、盒模型网布局01 初识盒子模型02 边框属性(border)03 边距属性(padding与margin)04 圆角边框05 阴影效果06 浮动属性(float)07 元素定位(position)08 溢出属性(overflow)

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧