Editor_Join

按指定索引鍵資料欄,用一個與 JOIN 操作類似的方法合併兩個 CSV 文檔,并創建一個新文檔。您可以用該內嵌函式或直接發送 EE_JOIN 消息。

Editor_Join( HWND hwnd, UINT nFlags, LPCWSTR pszDocument1, LPCWSTR pszColumn1, LPCWSTR pszDocument2, LPCWSTR pszColumn2, LPCWSTR pszSelect, int* piDocument3 );

參數

hwnd

指定 EmEditor 視圖或方塊架的視窗控制代碼。

nFlags

您能指定下列值的一個組合。

JOIN_FLAG_UNIQUE_KEY_1

第一個文檔中指定的索引鍵資料欄包含一個唯一索引鍵。

JOIN_FLAG_UNIQUE_KEY_2

第二個文檔中指定的索引鍵資料欄包含一個唯一索引鍵。

JOIN_FLAG_INCLUDE_ALL_1

第一個文檔中的所有資料列都會被包括在輸出中。輸出文檔將包含空的資料格如果第一個文檔中的行沒有符合的結果。

JOIN_FLAG_INCLUDE_ALL_2

第一個文檔中的所有資料列都會被包括在輸出中。輸出文檔將包含空的資料格如果第一個文檔中的行沒有符合的結果。

JOIN_FLAG_MATCH_CASE

大小寫符合。

JOIN_FLAG_SIMPLE_JOIN

合併兩個文檔而不比較索引鍵。如果指定了此標志,則會忽略 pszColumn1pszColumn2 參數。

JOIN_FLAG_IGNORE_HEADINGS_1

忽略第一個文檔中的標題,以便將第一個文檔中的標題保留在合併的文檔中。

JOIN_FLAG_IGNORE_HEADINGS_2

忽略第二個文檔中的標題。

JOIN_FLAG_CONTAIN

Key1 包含 Key2。

JOIN_FLAG_START_WITH

Key1 以 Key2 開始。

JOIN_FLAG_END_WITH

Key1 以 Key2 結尾。

JOIN_FLAG_MATCH_SPLIT_BOTH

兩個分割的字串都符合。

JOIN_FLAG_MATCH_SPLIT_ONE

Key1 符合分割的 Key2。

JOIN_FLAG_FUZZY

使用模糊比對。 此旗標不能與 JOIN_FLAG_END_WITH、JOIN_FLAG_MATCH_SPLIT_BOTH 或 JOIN_FLAG_MATCH_SPLIT_ONE 結合使用。此旗標會使過程變慢。

JOIN_FLAG_SWAP

Key1 和 Key2 互換,如果還指定了 JOIN_FLAG_CONTAIN,JOIN_FLAG_START_WITH,或 JOIN_FLAG_END_WITH。

pszDocument1

指定字串來識別第一個文檔。這個值可以是檔案名,檔案名以及路徑,或一個冒號 (:) 后跟目前的群組中指定文檔的索引號。例如,"filename.csv","C:\data\filename.csv" (如果是 JavaScript,"C:\\data\\filename.csv"),或 ":2"。

pszColumn1

指定字串來識別第一個文檔的索引鍵資料欄。這個值可以是指定欄的第一行或一個冒號 (:) 后跟指定欄的索引號。例如,"first_name" 或 ":5"。

pszDocument2

指定字串來識別第二個文檔。這個值的格式與 pszDocument1 格式相同。

pszColumn2

指定字串來識別第二個文檔的索引鍵資料欄。這個值的格式與 pszColumn1 格式相同。

pszSelect

指定字串來選擇要包括在輸出文檔中的欄。例如,"file1.csv>column1,file2.csv>column2"。

piDocument3

這個欄位將充滿輸出文檔的索引,當函數返回時。如果這個值為 NULL,這個欄位會被忽略。

返回值

返回值是新文檔的行數。返回值為負數如果發生錯誤的話。如果發生錯誤,返回值是下列值之一:

E_DOCUMENT_1_NOT_FOUND

無法找到第一個文檔。

E_DOCUMENT_2_NOT_FOUND

無法找到第二個文檔。

E_COLUMN_1_NOT_FOUND

無法找到第一欄。

E_COLUMN_2_NOT_FOUND

無法找到第二欄。

E_SELECT_SYNTAX

選擇的字串中有語法錯誤。

E_SELECT_DOCUMENT_NOT_FOUND

無法在選擇的字串中找到指定的文檔。

E_SELECT_COLUMN_NOT_FOUND

無法在選擇的字串中找到指定欄。

E_DIFFERENT_CSV_MODE

不同的 CSV 模式。

E_NOT_MDI

必須啟用 Tab。

E_WRITE_TEMP_FILE

臨時檔案寫入錯誤。

E_ABORT

被使用者中止。

E_FAIL

未指定的錯誤。

版本

支持 EmEditor 14.8 或之後的版本。