cad添加ole對象,ole對象引用沒有與ole對象綁定

本文目錄一覽:

ole控件的對象

VB提供了一個OLE容器控件(在工具箱中),用於容納“鏈接”對象或“嵌入”對象,也就是說,可以使用OLE容器控件來插入對象。

當然,也可用其它方法來插入對象。如:通過在工具箱中添加對象的類來插入對象,具體操作步驟為:

①→“工程”菜單/“部件”命令

②→“可插入對象”選項卡

③→想要加入工具箱的類,如:“Microsoft Excel工作表” →“確定”

在使用OLE容器控件插入對象時注意:

(1)創建鏈接時,鏈接對象數據被存儲在OLE容器控件之外;

創建嵌入對象時,嵌入對象數據和VB應用程序一起被保存在OLE控件之內。

(2)在任何時候,一個OLE容器控件內只能有一個對象。

(3)既可在設計階段來插入對象(創建鏈接對象或嵌入對象);也可在程序運行階段通過代碼來創建鏈接對象或嵌入對象。

(4)通過OLE控件的Display Type屬性可控制OLE對象在OLE容器控件中的顯示方式:

Display Type :0 → 以“數據映象”方式顯示

Display Type :1 → 以“圖標”方式顯示

一旦建立好一個OLE對象,此對應的OLE對象顯示方式將無法改變。

(5)在OLE容器控件中放置對象之前提供該對象的應用程序必須已經在Windows中註冊其對象。

1、設計時插入一個“鏈接”對象

步驟:(1)添加一個“OLE容器控件”到窗體上,屏幕會彈出一個“插入對象”對話框。或在設置好的“OLE容器控件”上右擊鼠標,也會彈出“插入對象”對話框。

(2)選擇“從文件創建”,再通過“瀏覽”按鈕確定“要鏈接文件的路徑、文件名”: ①C:\lyh\gz.xls\Excel工作表

②C:\win98\a.bmp\BMP圖象

(3)單擊“插入”按鈕→返回“插入對象”對話框。

(4)選中“鏈接”複選框→“確定”。

按照以上步驟,就建立了一個鏈接對象。

此時,OLE控件本身則保存與對象鏈接有關的信息。如:提供鏈接對象的應用程序名、鏈接文件名、以及該鏈接對象的“數據影像”等,其對應的OLE控件屬性分別是:對象類型(Class)、引用源文件(Source Doc)、鏈接數據(Source Item)。

[注意]:設計鏈接對象時,OLE會保留一份影像,起初這份影像和數據文件是相同的,但是因為文件有可能被修改,可鏈接對象保存的仍然是原始數據的影像,為了使其具備自動更新的能力,只要在Form_Load事件過程加入如下代碼:

Private sub Form_Load( )

OLE1.Action=6 ‘此語句用“OLE1.Update”方法也可以

End sub

2、設計時創建“嵌入對象”

創建嵌入對象時,既可從文件中嵌入數據,也可以創建一個新的空對象(可以被以後的數據填充)。

步驟:(1)添加一個“OLE容器控件”到窗體上,屏幕顯示“插入對象”對話框。

(2)選擇“從文件創建”,→“瀏覽”按鈕→確定要嵌入的“文件名”。

(3)→“插入”按鈕→返回“插入對象”對話框。

(4)→“確定”,即可創建嵌入對象。

另外,在此設計狀態,也可修改OLE對象中的數據,方法為:

(1)→在OLE對象數據區單擊鼠標右鍵,→彈出快捷菜單。

(2)選擇“編輯”命令→出現Excel的編輯環境。

(3)修改完畢後,單擊OLE對象數據區以外的區域,返回到創建嵌入對象的窗體。

[注意]:(1)不同於對象鏈接的是,嵌入對象中的數據被用戶修改後不會被自動存儲。當含有OLE控件的窗體被關閉時,與該控件相關的數據的任何變化將丟失。如果希望對數據所進行的修改在下次運行時能夠顯示出來,需要將更改的數據從對象保存至文件中(使用OLE控件的Save To File方法)。數據被保存在文件後,可以在需要的時候打開文件並恢復對象(使用OLE控件的Read From File方法)。

(2)將更改的數據從對象保存到文件中的方法(用一命令按鈕的單擊事件過程說明):

Private sub CmdSave_click( )

Dim FileNum as integer

FileNum=FreeFile ‘取文件號

Open “TEST.OLE” For Binary as #FileNum ‘打開要保存的文件

OLE1.SaveToFile FileNum ‘保存至文件

Close #FileNum ‘關閉文件

End sub

(3)將數據從文件讀入OLE容器控件(使用OLE控件的ReadFromFile方法)

用一命令按鈕的單擊事件過程說明:

Private sub CmdOpen_click( )

Dim FileNum as integer

FileNum=FreeFile ‘取文件號

Open “TEST.OLE” For Binary as #FileNum ‘打開文件

OLE1.ReadFromFile FileNum ‘讀文件

Close #FileNum ‘關閉二進制文件

End sub

3、使用“特殊粘貼”對話框創建鏈接對象或嵌入對象。

設計時創建對象的另一方法是使用“特殊粘貼”對話框,應用該方法可以只利用文件的一部分數據。(如只使用Excel數據表的一部分數據)

步驟:(1)運行一個包含鏈接或嵌入數據對象的應用程序(如Excel應用程序)。

(2)打開一個文件,選擇要鏈接或嵌入的數據。

(3)→“編輯”菜單/“複製”命令→複製“數據”到剪貼板上。

(4)在VB的一個包含OLE控件的工程中,右擊OLE控件→選擇“特殊粘貼”命令→彈出“選擇性粘貼”對話框。

(5)若想建立嵌入對象,選擇“粘貼”選項; 若OLE控件中已有一個對象

若想建立鏈接對象,選擇“粘貼鏈接”選項; 則會詢問是否刪除現有對象

(6)作出回答後,即在OLE控件上建立了一個新的對象。

4、利用OLE發出聲音(實例)

步驟:(1)在窗體上添加OLE控件時,→彈出“插入對象”對話框,

在“對象類型”列表框中選“聲音文件”;

選擇⊙從文件創建;

→“瀏覽”按鈕,選擇文件:C:\windows\Canyon.mid ;

選擇 鏈接, 顯示為圖標。

(2)單擊“確定”按鈕。

運行程序,雙擊OLE對象,將播放一段音樂。

三、在運行階段創建鏈接或嵌入對象

要在程序代碼運行時創建鏈接或嵌入對象,需要了解OLE容器控件的屬性、事件和方法。

1、OLE容器控件的屬性、方法、事件:

l Action屬性:指定作用在OLE控件上的動作(如建立、刪除、啟動等)。

語法為:object.Action=value

value的設置值如下表: value值 描述 方法 0 創建嵌入對象 Create Embed 1 創建鏈接對象 Create Link 4 將對象複製到系統剪貼板 Copy 5 將對象從系統剪貼板複製到OLE容器控件 Paste 6 從提供對象的應用程序檢索當前數據,並在

OLE容器控件中將該數據作為圖片顯示。 Update 7 打開一個對象,用於進行諸如編輯那樣的操作 DoVerb 9 關閉對象,並與提供該對象的應用程序終止連接 Close 10 將指定的對象刪除,釋放與之關聯的內存 Delete 11 將對象保存到數據文件中 SaveToFile 12 加載保存到數據文件中的對象 ReadFromFile 14 顯示“特殊粘貼”對話框 PasteSpecialDlg 17 更新對象支持的謂詞列表 FetchVerbs 18 將對象以OLE version 1.0版本的文件格式保存 SaveToOle1File l Class屬性(類屬性)

格式為:object.class

類名包含幾個部分:application.objecttype.version

類名:說明對象類型。

Application :提供對象的應用程序名

Objecttype :在對象庫中定義的對象名

Version :提供對象的應用程序的版本號

例如:Excel.Sheet.8

l OLEType Allowed屬性

返回或設置OLE容器控件所能包含的對象類型。

語法為:object.OLETypeAllowed [=value]

value值的設置如下表: 常數 值 描述 VbOLELinked 0 鏈接的,OLE容器只能包含鏈接對象 VbOLEEmbeded 1 嵌入的,OLE容器只能包含內嵌對象 VbOLEEither 2 二者均可(缺省值) l SourceDoc屬性

指定鏈接或嵌入對象時使用的源文件名。

語法為:object.sourceDoc [=name]

name :指定文件名的字符串表達式。

l SourceItem屬性(只對鏈接有效)

在創建鏈接對象時,設置或返回要鏈接的文件內的數據。

語法為:object.sourceItem [=string]

string :一個指定被鏈接數據的字符串表達式。

例如:A1 :E1 或 A3C4 :A9D10

[注意]:當使用Action屬性創建鏈接對象時,用SourceDoc 屬性指定要鏈接的文件,使用sourceItem屬性指定在要鏈接文件內的數據。

l Create Embed方法

該方法用來創建一個嵌入對象。

語法為:object.CreateEmbed sourcedoc[,class]

sourcedoc :必選項,對象從該文件中創建。

SourceItem :可選項,文件內的被鏈接的數據。

l DoVerb方法

打開一個對象(例如編輯一個對象)。

Object.DoVerb[verb]

Verb :可選項,在OLE容器控件內要執行的對象的謂詞。

l InsertObjDlg方法

顯示插入對象對話框。

語法為:object.InsertObjDlg

[說明](1)用戶在運行這個方法時,將顯示“插入對象”對話框,通過選取對象的類型,來創建鏈接的或內容嵌的對象,並由應用程序提供該對象。

(2)創建新對象時,與類名(如Excel.EXE)關聯的應用程序,必須已在操作系統中正確地作了註冊。

l PasteSpecialDlg方法

顯示“特殊粘貼”對話框。

語法為:object.PasteSpecialDlg

l Updated事件

當一個已創建對象的數據發生改變(修改)時,會引發Updated事件。

l ObjectMove事件

當移動和OLE控件有關的對象以及調整其大小時,會觸發ObjectMove事件。

l UpdateOptions屬性

在運行時設置當鏈接數據修改後是否更新鏈接對象。

語法為:Object.UpdateOptions [=number]

其中Number的設置值為:

0 —— 自動的(缺省值),每次改變鏈接數據時均更新對象

1 —— 凍結的

2 —— 手動的,只有使用Update方法才更新對象

2、運行階段建立鏈接對象

舉例:(1)在窗體上添加2個OLE容器控件時,2個命令按鈕。

(2)設計代碼:

☆ 要求功能:①OLE1和OLE2鏈接同一個數據源。

②當改變(修改)OLE1容器控件中的鏈接數據時,OLE控件中鏈接同一個數據源的數據也要求跟着變化。

Private sub command1_click( )

OLE1.class=”Excel worksheet” 用”Excel.sheet.”也可以

OLE1.sourceDoc=”C:\My Documents\aa.xls”

OLE1.DrsplayType=0

OLE1.Action=1

OLE2.class=”Excelworksheet”

OLE2.sourceDoc=”C:\My Documents\aa.xls”

OLE2.DisplayType=0

OLE2.Action=1

End sub

Private sub command2_click( )

UnLoad Me

End sub

Private sub OLE1_Updated(code as integer)

OLE2.UpdateOptions=0 ‘用OLE2.Action=6也可以,或OLE2.Update方法也可以

End sub

Private sub OLE2_Updated(code as integer)

OLE1.UpdateOptions=0

End sub

3、運行階段建立嵌入對象

運行時建立嵌入對象的方法與建立鏈接對象的方法相似,只不過此時在有關代碼中用:

OLE1.Action=0 或使用 CreateEmbed方法。

[注意]:對嵌入對象的任何修改要保存的話,一定要使用前述的SaveToFile方法,將修改的數據保存至某個文件中,在需要的時候可打開文件並恢復修改的內容。

補充2:

應用OLE拖放(在你的VB應用程序中支持OLE拖動功能)

一、OLE拖放的含義

指將數據從一個控件或應用程序移動到另一個控件或應用程序。

例如:可先選定並拖動Excel中的一列單元,然後將它們放到VB應用程序的DataGrid控件上。

二、VB控件的OLE拖放功能

VB的幾乎所有控件都在某種程度上支持OLE拖放(專業版和企業版)。

1、 自動支持OLE拖放的控件(既可從控件拖出,也可在控件放入)。

DataGrid , PictureBox ,RichTextBox ,Image ,TextBox ,MaskedEditBox

[注意]:要啟動這些控件的自動OLE拖放功能,應將其OLE Drag Mode屬性和OLEDropMode屬性設置為“自動化”——“Automatic“

2、僅自動支持OLE拖動操作的控件(僅從控件拖出)。

ComboBox ,DataListBox ,FileListBox ,DataComboBox ,DirlistBox ,ListBox , TreeView ,ListView等。

[注意]:要啟動這些控件的自動拖動功能,應將其OLEDragMode設置“自動化”。

3、僅支持OLE拖放事件的控件

——即可代碼對它們編程,使之成為OLE拖放操作的源,也可使生成為OLE拖放操作的目標。

CheckBox , Frame , OptionButton , CommandButton , Label , DrivelistBox , Data等。

[注意]:(1)為判斷其它ActionX控件是否支持OLE拖放,應在VB在加載控件,並檢查OLEDragMode和OLEDropMode屬性是否存在或檢查OLEDrag方法是否存在。

(2)缺省規定:在將文本從文本框控件拖動到word文檔時,文本被移動;若拖動文本的同時按下[Ctrl]鍵,則文本被複制。

CAD中OLE對象是什麼

CAD中OLE對象是什麼?首先OLE是ObjectLinkingandEmbedding的縮寫,也就是鏈接和嵌入的意思,我們可以使用迅捷CAD編輯器中的OLE對象功能,在圖紙的指定位置嵌入任何信息,比如文字、位圖、矢量圖形、聲音註解和錄像剪輯等等。那麼如何在CAD圖紙中插入OLE對象呢?具體操作方法如下:

1、啟動CAD編輯器(標準版),打開需要編輯的CAD圖紙,並切換到【編輯器】選項卡。

2、在【繪製】功能菜單中點擊【OLE對象】按鈕,激活該功能。

3、移動鼠標,框選需要嵌入對象的位置,也可以輸入寬度和高度指定位置,在選擇完成後,即可激活插入對象窗口。在彈出的插入窗口中,可以新建一個對象,也可以選擇插入的對象,點擊【又文件創建】,點擊【瀏覽】按鈕,添加需要插入的對象,選擇完成後,點擊確定按鈕。

最後,我們就可以在CAD圖中看到已經成功插入的OLE對象啦,這裡我們如果看不到OLE對象內容,可以選擇OLE對象,點擊右鍵,選擇【OLE】—【激活內容】就可以查看到OLE內容了。

在CAD中插入OLE對象怎麼做?

1、啟動CAD編輯器(標準版),打開需要編輯的CAD圖紙,並切換到【編輯器】選項卡。

2、在【繪製】功能菜單中點 擊【OLE對象】按鈕,調用該功能。

3、移動鼠標,框選需要嵌入對象的位置,也可以輸入寬度和高 度指 定位置,在選擇完成後,即 可調用插 入對象窗口。

4、在彈出的插 入窗口中,可以新建一個對象,也可以選擇插 入的對象,點 擊【由文件創建】,點 擊【瀏覽】按鈕,添加需要插 入的對象,選擇完成後,點 擊確 定按鈕。

5、然後,我們就可以在CAD圖中看到已經成功插 入的OLE對象啦,

CAD中如何插入OLE對象文件?

1、插入、ole對象、新建、點選類型、輸入編輯好關掉軟件,就插入進來了

2、插入、ole對象、,由文件創建、瀏覽、選擇文件、確定、調整參數。確定,就插入進來了

關於CAD不能插入OLE對象問題?

那你試一下新建文檔,把圖片插入到文檔中,這樣也可以插入圖片的

原創文章,作者:IGOS,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134670.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IGOS的頭像IGOS
上一篇 2024-10-04 00:07
下一篇 2024-10-04 00:07

相關推薦

  • 面向對象編程、類和對象

    面向對象編程(Object-Oriented Programming, OOP)是一種編程方法,它將現實世界中的事物抽象為對象(Object),對象的屬性和方法被封裝成類(Clas…

    編程 2025-04-29
  • Mapster:一個高性能的對象映射庫

    本文將深入介紹furion.extras.objectmapper.mapster,一個高性能的對象映射庫,解釋它是如何工作的以及如何在你的項目中使用它。 一、輕鬆地實現對象之間的…

    編程 2025-04-28
  • Python返回對象類型

    Python是一種動態、解釋型、高級編程語言。Python是一種面向對象的語言,即所有的一切都是一個對象。 一、基本類型 Python中的基本類型有整數int、浮點數float、布…

    編程 2025-04-28
  • Python中通過對象不能調用類方法和靜態方法的解析

    當我們在使用Python編寫程序時,可能會遇到通過對象調用類方法和靜態方法失敗的問題,那麼這是為什麼呢?接下來,我們將從多個方面對這個問題進行詳細解析。 一、類方法和靜態方法的定義…

    編程 2025-04-27
  • Python內置函數——查看對象內存

    本文將介紹Python內置函數中,在開發中查看對象內存的相關函數。 一、id()函數 id()函數是Python內置函數,用於返回對象的唯一標識符,也就是對象在內存中的地址。 nu…

    編程 2025-04-27
  • 解決ERP運行時錯誤429:ActiveX不能創建對象 DAO350

    ERP運行時錯誤429是由於“ActiveX不能創建對象”而引發的。這種錯誤通常是由於您在嘗試訪問Microsoft Access數據庫時缺少了必要的組件。 一、安裝並註冊DAO庫…

    編程 2025-04-27
  • SpringBoot請求參數綁定

    解答:SpringBoot請求參數綁定是指將HTTP請求中的參數與Controller方法的參數綁定起來,使得參數的傳遞變得簡單和方便。下面我們將從多個方面對SpringBoot請…

    編程 2025-04-25
  • forof遍歷對象的詳細闡述

    forof是一種ES6的語法糖,用於遍歷可迭代對象。相較於傳統的for循環和forEach方法,forof更加簡潔、易讀,並且可以遍歷各種類型的數據。 一、基本語法 forof的基…

    編程 2025-04-25
  • Vue數組添加對象詳解

    在Vue框架下,我們經常需要用到對數組添加新的對象的功能,在本篇文章中,我們將從以下幾個方面對Vue數組添加對象做詳盡的說明。 一、通過unshift和push方法添加對象 Vue…

    編程 2025-04-25
  • Vue數據綁定詳解

    一、介紹 Vue.js是一款用於構建用戶界面的JavaScript框架,在Vue中最重要的概念之一就是數據綁定。數據綁定是Vue將DOM和數據同步的核心機制,Vue實現數據綁定的方…

    編程 2025-04-25

發表回復

登錄後才能評論