OneNote (視窗介面)
Window 和 Windows 介面是 OneNote 2013 API 物件,可讓使用者使用 OneNote 視窗。 這些物件可讓用戶列舉 OneNote 視窗集合,並修改特定視窗屬性。
OneNote window views
下列清單顯示可用於 OneNote 視窗的四個檢視模式:
- 一般檢視— 顯示預設的 OneNote 視窗,其中會顯示 [筆記本] 和 [頁面] 瀏覽窗格。
- 完整頁面檢視— 顯示最少的使用者介面 (UI) 檢視,其中不會顯示 [筆記本] 和 [頁面] 窗格。
- 快速注意事項: 顯示可讓使用者記下簡短筆記的小型視窗。 您通常會透過 Windows 通知區域中的 OneNote 圖示存取快速筆記,但您也可以透過 OneNote 中的 [ 檢視 ] 索引卷標來存取它們。
- 停駐至桌面— 顯示 OneNote 視窗,您可以停駐至桌面 (與任務列) 類似的任何一端。 此檢視會減少桌面大小以符合視窗。 您隨時只能停駐一個視窗,而且視窗一律會顯示,而不會封鎖桌面。
下圖顯示桌面上的 [完整頁面] 檢視、[停駐至桌面] 檢視和快速筆記的外觀。
OneNote views
介面
本節列出您可以用來以程序設計方式修改 OneNote 視窗的介面和成員。
Windows 介面
Windows 介面可讓使用者存取開啟的 OneNote 視窗集合。 它是 OneNote 應用程式 類別的屬性,可透過 Application.Windows 存取。 這會傳回 OneNote 視窗的列舉集合。
屬性
名稱 | 類型 | 描述 |
---|---|---|
數目 |
ulong |
取得 Windows 集合中的 Window 物件數目。 |
CurrentWindow |
Window |
取得使用中 OneNote 視窗的 Window 物件。 |
Items |
Window |
會傳回對應至所傳遞之索引值的 Window 物件。 無法直接存取這個屬性。 若要傳回 Window 物件,請使用 Windows [ (uint) index]。 |
視窗介面
Window 介面可讓使用者存取每個視窗的特定屬性。 您可以藉由列舉 Application 類別的Windows 屬性來存取每個 OneNote 視窗。
屬性
名稱 | 類型 | 描述 |
---|---|---|
Active |
bool |
取得或設定值,指出視窗是否為使用中的 OneNote 視窗。 |
Application |
Application |
取得與窗口相關聯的 OneNote Application 物件。 |
CurrentPageId |
字串 |
取得視窗之使用中 OneNote 頁面的物件識別碼。 |
CurrentSectionId |
字串 |
取得視窗之使用中 OneNote 區段的物件識別碼。 |
CurrentSectionGroupId |
字串 |
取得視窗之使用中 OneNote 區段群組的物件識別碼。 |
CurrentNotebookId |
字串 |
取得視窗之使用中 OneNote 筆記本的物件識別碼。 |
DockedLocation |
DockedLocation |
取得或設定 OneNote 視窗的停駐位置。 |
FullPageView |
bool |
取得或設定值,指出視窗是否在 [完整頁面] 檢視中 (最小 UI 檢視) 。 |
SideNote |
bool |
取得或設定值,指出視窗是否為快速記事視窗。 |
WindowHandle |
ulong |
取得 OneNote 視窗的句柄標識碼。 |
方法
您可以使用 Window 介面的下列方法,巡覽至 OneNote 視窗中的指定物件或指定的 URL。
NavigateTo
值 | |
---|---|
描述 |
巡覽至 OneNote 視窗中指定的物件。 例如,您可以瀏覽至頁面內的區段、頁面和大綱元素。 |
語法 |
HRESULT NavigateTo(
[in]BSTR bstrHierarchyObjectID,
[in]BSTR bstrObjectID);
|
參數 |
bstrHierarchyObjectID— 您要巡覽之物件的階層 OneNote 識別符。 對象標識碼可以參考 OneNote 筆記本、區段、區段群組或頁面。 bstrObjectID— 要在 OneNote 頁面內巡覽至之特定物件的 OneNote 識別符。 如果使用者不想要巡覽至頁面上的特定物件,此參數會設定為 Null。 |
NavigateToUrl
值 | |
---|---|
描述 |
如果將 OneNote 連結傳遞 (onenote://) ,則會將 OneNote 視窗開啟至 OneNote 中的對應位置。 不過,如果連結是外部連結,例如 https:// 或 file://,則會出現安全性對話方塊。 關閉時,OneNote 會嘗試開啟連結,並傳回 HResult.hrObjectDoesNotExist 錯誤。 |
語法 |
HRESULT NavigateToUrl (
[in]BSTR bstrUrl);
|
參數 |
bstrUrl— 要巡覽的 URL。 |
SetDockedLocation
值 | |
---|---|
描述 |
將視窗停駐到 dockLocation 所指定的位置,並將監視器停駐在 ptMonitor。 |
語法 |
HRESULT SetDockedLocation ( [in] DockLocation dockLocation, [in] POINT ptMonitor); |
參數 |
dockLocation - 指出 OneNote 2013 視窗的停駐位置。 ptMonitor - (選擇性) 指出在 x,y 中應該停駐監視視窗的座標。 |
範例
下列程式代碼會逐一查看 OneNote 視窗,以尋找停駐的視窗。 如果沒有停駐的視窗存在,則此範例會停駐活動視窗。 如果沒有作用中的視窗存在,程序代碼就會建立新的停駐視窗。
using System;
using System.Diagnostics;
using Microsoft.Office.Interop.OneNote;
namespace SampleWND
{
class DockOneNoteWindow
{
static void Main(string[] args)
{
Microsoft.Office.Interop.OneNote.Application app = new Microsoft.Office.Interop.OneNote.Application();
// Search through all OneNote windows for a docked window and activate it.
bool foundDockedWND = false;
for (int i = 0; i < app.Windows.Count; i++)
{
if (app.Windows[(uint) i].DockedLocation != DockLocation.dlNone)
{
foundDockedWND = true;
app.Windows[(uint) i].Active = true;
}
}
// If no docked window exists, dock the active window.
if (!foundDockedWND && (app.Windows.Count > 0))
app.Windows.CurrentWindow.DockedLocation = DockLocation.dlDefault;
// If no active window exists, create a new docked window.
if (app.Windows.Count < 1)
{
Process oneProc = new Process();
oneProc.StartInfo.FileName = "onenote.exe";
oneProc.StartInfo.Arguments = "/docked";
oneProc.Start();
}
}
}
}