因為想把EXCEL嵌入VB 的form視窗中,所以首先想到OLE 控制元件,可是OLE是個方框,打開時候大小無法控制。
搗鼓了幾天,大小控制不了,界面變化難看,終于放棄了
用mdiform是下策,因為有點復雜化
所以想直接“部件”里添加一個excel 物件來整,結果大小是控制了,界面好看了,可是每次加載視窗,都需要雙擊來打開,
用OLE的時候還有ole1.doverb來激活,現在大小是控制了,沒有sheet1.doverb,沒有動verb啊,拭了activate也不行,沒有冬verb,怎么搞,我只想弄得有點象grid 表格控制元件一樣,sheet1 又沒有db_click事件
難道要用API,本人對API實在是兩眼一抹黑
求load 表單,不需要雙擊,就直接加栽編輯狀態的EXCEL 物件,求大家幫忙,堵了幾天了,實在沒擇了
uj5u.com熱心網友回復:
閱兵放完了,誰指點下uj5u.com熱心網友回復:
說什么呢?OLE可以調整大小的啊1)設計模式
剛放上去是編輯模式(可以直接設定Excel內容),把焦點切出來(比如點下視窗區域)結束編輯,就能調整OLE控制元件大小了。
2)運行模式
直接代碼調整大小
Private Sub Form_Resize()
If Me.WindowState = vbMinimized Then Exit Sub
On Error Resume Next
OLE1.Move 0, 0, ScaleWidth, ScaleHeight
On Error GoTo 0
End Sub
uj5u.com熱心網友回復:
不小心拖動,或界面例外時很容易大小不和ole方框大小統一,有其它可行方法嗎uj5u.com熱心網友回復:
既然不放心設計模式下的擺放,在運行模式用代碼調整大小啊。uj5u.com熱心網友回復:
運行模式下怎么整,ole能,但是其中的excel不能啊uj5u.com熱心網友回復:
沒理解!說人話!uj5u.com熱心網友回復:
微軟有個開源的OCX,直接拿來用好了。不過好象只支持03以前的版本。
uj5u.com熱心網友回復:
建議使用Flexcell控制元件uj5u.com熱心網友回復:
放棄吧。。。 無解,ole鏈接是肯定不行的,我清楚你想要的效果和達到的目的
就如同我想用ole僅顯示word檔案,我在后臺編輯word一樣,解決不了。。。。
不過我的思路是把doc或者excel另存成網頁,用web控制元件加載顯示,修改網頁源檔案,再存成office格式,這樣能最大限度的保持office軟體的顯示效果和風格
求。。。
uj5u.com熱心網友回復:
為何不直接呼叫EXCEL物件呢?按照一般的方式參考, 打開, 然后設定Application.visible=true就可以見啦
uj5u.com熱心網友回復:
固定大小吧,表單別讓用戶拖動Ole要一直保持大小得處理表單的resize時間
這個很麻煩的
uj5u.com熱心網友回復:
這個效果不是很好
頻繁開關表單程式不好看
uj5u.com熱心網友回復:
試試CreateDesktop新開一個桌面,讓Excel運行在這個看不見的桌面中。
uj5u.com熱心網友回復:
我隨便說一嘴大多數人估計沒什么處理過類似的需求
微軟的那個開源Ocx叫DSOFramer
真用起來跟屎一樣爛,屌用沒有
問題一大堆 .
真想好好處理,可以用其他的第三方控制元件
我用過Aspose Npoi都不錯
不過不是vb下用c#下用的
另外如果你只是想顯示word,最好的方法是轉換成圖片,這點Aspose可以比較完美的做到.
uj5u.com熱心網友回復:
只是想顯示word的話,word提供EnhMetaFileBits介面使用SetEnhMetaFileBits可以轉成記憶體物件
1.按頁匯出
ActiveDocument.Windows(1).Panes(1).Pages(1).EnhMetaFileBits
2.如果不要頁眉頁腳的話
直接Range物件下頁有EnhMetaFileBits介面
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/78293.html
標籤:API
上一篇:【VB6】發布VB類別庫系列
下一篇:matlab與vb混合編程的問題
