在excel中錄製巨集可以獲得以下vba**:
range
("c3"
).select
activewindow.freezepanes = true
然後根據以上**去猜測cpp**如何寫,實際很難。但可以猜到關鍵函式setfreezepanes。
搜尋:excel cpp setfreezepanes(true) 可以找到以下網頁:
參考以後,封裝函式如下:
bool freezesheet
(excel:
:worksheet *sheet,
const
int irowcount,
const
int icolcount)
if(irowcount ==
0&& icolcount ==0)
excel:
:range *range_used = sheet->
usedrange()
;if(range_used ==
null
) excel:
:range *range_rows = range_used->
rows()
;if(range_rows ==
null
) excel:
:range *range_cols = range_used->
columns()
;if(range_cols ==
null
)int excel_row_count = range_rows->
count()
;//行數
int excel_col_count = range_cols->
count()
;//列數
int irowfreeze = irowcount;
int icolfreeze = icolcount;
if(irowcount > excel_row_count)
if(icolcount > excel_col_count)
if(irowfreeze ==
0&& icolfreeze ==0)
// sheet->
activate()
; excel:
:window *pwindow = excel_->
activewindow()
;if(null
== pwindow)
pwindow->
setfreezepanes
(false)
;//首先先把凍結窗格去掉,防止excel已經設定的凍結窗格導致後面設定的不成功。
pwindow->
setsplitcolumn
(icolfreeze)
;//icolcount為0時,只凍結行
pwindow->
setsplitrow
(irowfreeze)
;//irowcount為0時,只凍結列
pwindow->
setfreezepanes
(true)
;//設定凍結窗格屬性為true
return true;
}
excel凍結視窗問題
excel凍結視窗問題 在excel中,怎樣固定上邊和左邊的 在上下拉和左右拉時,它們是凍結的,不會動 我只能固定上邊的,或者只固定左邊的,謝謝 選中你要凍結行下邊一行和要凍結列右邊一列的那個單元格,再從選單裡點凍結視窗就可以了 比如你要凍結前兩行和前一列,就選中 b3 再點凍結視窗就搞定了。在視窗...
excel凍結窗格
當我們編輯過長或過寬的excel 2007 工作表時,需要向下或向上滾動螢幕。這時表頭也會相應滾動,不能在螢幕上顯示,於是我們搞不清要編輯的資料對應於表頭的哪乙個資訊。按下列方法可將表頭鎖定,使表頭始終位於螢幕上的可視區域。首先選定要鎖定的表頭,如果我們要將圖中表頭 1至3行 鎖定,那麼單擊a4單元...
002Excel凍結視窗(凍結第二行)
不知道是最近狀態不好還是怎麼回事excel凍結前面兩行居然弄了很久,而工作上又急需,為此還是記錄一下 其實超級簡單 不會的話就很難 如果凍結一行 這個非常簡單 那麼凍結前面兩行呢?我研究了很久,其實很簡單 主要是office2016的選單提示有點不友好 具體方法如下 在第3行選中乙個單元格 切記是單...