• 3489阅读
  • 3回复

[提问]操作 Excel 时如何进行冻结行列? [复制链接]

上一主题 下一主题
离线圣域天子
 

只看楼主 倒序阅读 楼主  发表于: 2017-05-31
操作 Excel 时如何进行冻结行列?
FreezePanes 这条指令不起作用。
离线never_forget

只看该作者 1楼 发表于: 2017-05-31
没有做过对 EXCEL 表格的操作,友情顶一下~~~
离线alexltr

只看该作者 2楼 发表于: 2017-06-01
应该是FreezePanes啊, 可能是用法不对。

=================================================================
FreezePanes 属性
参阅参阅参阅参阅如果拆分窗格被冻结,则该值为 True。Boolean 类型,可读写。

说明
可以使 FreezePanes 属性为 True,同时使 Split 属性为 False。或者 FreezePanes 为 False,同时 Split 为 True。

此属性仅应用于工作表和宏表。

示例
本示例冻结 Book1.xls 当前窗口的拆分窗格。

Workbooks("BOOK1.XLS").Worksheets("Sheet1").Activate
ActiveWindow.FreezePanes = True

我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线圣域天子

只看该作者 3楼 发表于: 2017-06-05
搞定了:

  1. void TcExcel::freezePanes(int row, int col, bool freeze)
  2. {
  3. #if defined(Q_OS_WIN)
  4.   QAxObject* window = excel->querySubObject("ActiveWindow");
  5.   if ( row <= 0 && col <= 0 )
  6.   {
  7.     freeze = false;
  8.   }else
  9.   {
  10.     window->setProperty("SplitRow"   , qMax(0, row));
  11.     window->setProperty("SplitColumn", qMax(0, col));
  12.   }
  13.   window->setProperty("FreezePanes", freeze);
  14.   delete window;
  15. #endif
  16. }



快速回复
限100 字节
 
上一个 下一个