DDE 函數

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

你可以使用 DDE 功能啟動動態資料交換 (DDE) 與另一個應用程式對話,向該應用程式請求一項資訊,並在表單或報告的控制中顯示該資訊。

例如,你可以在文字框的 ControlSource 屬性中使用 DDE 函式,顯示 Excel 工作表中指定儲存格的資料。

語法

DDE (應用、主題、項目)

DDE 函式語法包含以下參數:

一個規則 描述
應用 一個字串表達式,用來識別一個能參與 DDE 對話的應用程式。 通常, 應用程式 是指 .exe 檔案名稱, (Microsoft Windows 應用程式(如 Excel)中沒有 .exe 副檔名) 。 例如,要與 Excel 發起 DDE 對話,請輸入應用程式參數的「Excel」。
主題 一個字串表達式,是應用程式識別的主題名稱。 主題論元通常是文件或資料檔案。 請查看另一份申請的文件,裡面有可能的主題清單。
項目 一個字串表達式,是 應用程式識別的資料項目名稱。 請查看另一份申請的文件,了解可能項目的清單。

註解

DDE 函式嘗試與指定的應用程式主題發起 DDE 對話,並請求項目中的資料。 若成功, DDE 函式會回傳包含所需資訊的字串。

如果你是從 Excel 請求資料, 項目 可能是列欄識別碼,例如 "R1C1" 一組儲存格的名稱。 以下範例中, DDE 函式從 Excel 工作表第 1 列第 1 列的儲存格請求資訊。 你可以在控制項屬性表的 ControlSource 屬性框中輸入這個文字框控制項的表達式:

=DDE("Excel", "Sheet1", "R1C1")

你只能在文字框、選項群組、勾選框或組合框的 ControlSource 屬性中使用 DDE 功能。 你無法從 aVisual Basic for Applications (VBA) 模組呼叫 DDE 函式。

使用 DDE 功能時,表單檢視和列印預覽中的控制項會變成唯讀。 例如,如果你在文字框中使用 DDE 函式,文字框中的文字就無法被編輯。 你必須在另一個應用程式中編輯文字。 由於 ControlSource 屬性在表單檢視與列印預覽中為唯讀,控制項的變更必須在設計檢視中進行。

Microsoft Windows與您電腦的記憶體及資源決定同時可開啟的最大DDE對話數量。 如果對話無法啟動,因為其他應用程式未執行或無法辨識指定主題,或對話次數已達最大, DDE 函式會回傳 Null。

注意

另一個應用程式可能會設定為忽略你對 DDE 對話的請求。 如果是這樣, DDE 函式會回傳 Null。 同樣地,你可以設定存取權限忽略其他應用程式的請求:在檔案選單點選「存取選項」,然後在「應用程式設定」對話框中點選「進階」。 在 DDE 操作中,選擇 忽略 DDE 請求

提示

如果你需要從 Access 操作其他應用程式的物件,建議考慮使用 Automation。

下表說明了當你將 DDE 函數與每個控制項結合時的行為。

Con Trol 註解
文字方塊 項目參數可以指文字或數字。 如果 項目 涉及多個資訊,例如包含多個儲存格的 Excel 工作表中一個命名範圍, DDE 函式會回傳第一個項目。 你可以用這個功能搭配文字框來顯示工作表中儲存格中的資料。
下拉式方塊 DDE 功能會用物品所提及的資訊填滿組合框。 你無法在文字區輸入資料。 你可以用 DDE 功能搭配組合框,顯示你在 Excel 工作表中維護的國家/地區清單。
選擇權組 選項群組中每個選項按鈕的 OptionValue 屬性都設定為一個數字。 通常第一個按鈕數值是 1,第二個是 2,依此類推。 DDE 功能回傳的數字決定了會選擇哪個選項按鈕。
例如,如果 DDE 函式回傳 2,則會選擇第二個按鈕。 如果這個函式回傳的值與任何 OptionValue 屬性設定都不符,那麼任何按鈕都不會被選取。 如果 項目 涉及多個資訊,例如包含多個儲存格的 Excel 工作表中一個命名範圍, DDE 函式會回傳第一個項目。
核取方塊 DDE 函式回傳 0,則該勾選框會被清除。 若此函數回傳非零數值,如 1 或 –1,則會選擇該框。 若 項目 涉及文字或多個資訊,例如Excel工作表中包含多個儲存格的命名範圍,該勾選框將無法使用。