Microsoft Office Web 討論區用戶端物件

Global
DiscussionServers (DiscussionServer)
Discussions (Discussion)

圖例

物件及集合
僅限物件


討論區伺服器和討論的簡介

在 Microsoft Office 中，Microsoft Office Web Discussions Client 程式庫能讓您以程式編寫的方式控制 Discussions 及 DiscussionServers 集合中的物件。您可以加入新的討論和討論區伺服器，也可以讀取、變更或刪除現存的討論和討論區伺服器。

重要： 若要在程式編寫環境中使用此程式庫，必須先設定 Microsoft Office Web Discussions Client Type Library (OWSCLT.DLL) 的參照。

Global 物件是瀏覽討論和討論區伺服器的起點。Global 物件代表討論區伺服器的一個實例。Global 物件能讓您在討論區伺服器中加入訂閱、取得目前 Microsoft Office 使用者名稱，以及傳回特定討論區伺服器上的討論及討論區伺服器集合。

DiscussionServers 集合物件包括一個或多個 DiscussionServer 物件。 每一個 DiscussionServer 物件均代表一個登錄在目前使用電腦上的討論區伺服器。 DiscussionServer 物件是由一個適當的名稱和一個統一資源定位器 (URL) 所構成，後者可提供有關討論區伺服器的訊息給使用者 。

您可以使用 Global 物件的 OpenDiscussions 方法，傳回按 URL 指定文件檔的 Discussions 集合，以此開啟某個 URL 的 Discussions 集合。此 Discussions 集合可包括數個討論層次；這些層次都是以階層結構來組織的。每一個在最高階 Discussions 集合中的 Discussion 物件都是主題文件檔的註解。而每一個 Discussion 物件都可包括子 Discussion 物件，該子物件是用來回覆原始的 Discussion 物件。回覆的回覆則位在討論階層結構的下一層，依此類推。您可以使用 Discussion 物件的 Discussions 屬性來遍覽討論階層結構。


傳回集合中的物件

Item 屬性會傳回集合的單一物件。下面範例設定 Discussion 物件的 dscSupplies 變數，該物件是 Discussions 集合中的第一個討論。

Dim dscDiscussions As Discussions
Set dscDiscussions = _
    OpenDiscussions("http://samples.microsoft.com")
Dim dscSupplies As Discussion
Set dscSupplies = dscDiscussions.Item(1)

因為 Item 屬性是大多數集合的預設屬性，所以可以省略 Item 關鍵字，而簡化該陳述式。

Set dscSupplies = dscDiscussions(1)

若需有關某個集合的詳細資料，請參閱關於集合的 [說明] 主題，或參閱關於集合的 Item 屬性的 [說明] 主題。


Discussion 物件

Global
DiscussionServers (DiscussionServer)
Discussions (Discussion)

代表 Microsoft Office 主應用程式中的一個討論。Discussion 物件是 Discussions 集合的成員。

使用 Discussion 物件

使用 Discussions(Index)可傳回單一的 Discussion 物件，其中 Index 是討論的索引序號。以下範例將變數 dscOfficeSupplies 設定為 Discussions 集合中的第一個討論。

Set dscOfficeSupplies = dscDiscussions(1)

使用 AutoCommit 屬性可設定或傳回交付動作的狀態，此交付動作控制是否要將 Discussion 物件屬性變更為立即影響討論儲存。使用 Commit 方法可迫使應用程式將所有目前討論項的摘要資訊 (包括內容的變更) ，儲存在伺服器的討論儲存中。以下範例檢查指定討論的 AutoCommit 值，如果該值為 False，則用 Commit 方法將變更儲存在討論儲存中。

If dscDiscussions(1).Discussions(4).AutoCommit = False Then
    dscDiscussions(1).Discussions(4).Commit
End If

使用 Author 屬性，可取得目前討論作者的使用者名稱。使用 LoginName 屬性，可取得討論作者的 Microsoft Windows NT 登入名稱。使用 Timestamp 屬性，可取得此討論建立或最近一次變更的日期和時間。以下範例顯示指定討論的作者名稱、建立或最近一次變更的日期和時間，以及 Microsoft Windows NT 登入名稱。

MsgBox dscDiscussions(1).Discussions(5).Author & _
    " created this discussion at " & _
    dscDiscussions(1).Discussions(5).Timestamp & _
    " while logged in as Windows NT user " & _
    dscDiscussions(1).Discussions(5).LoginName

使用 Discussions 屬性，傳回所有回覆目前討論的討論項集合。傳回的集合中還包括由父討論的回覆所組成的 Discussions 集合，您可以透過此集合中某個討論的 Discussions 屬性來存取該集合。

使用 Subject、Text 和 Bookmark 屬性，可傳回或設定指定討論的相應元件。


Discussions 集合

Global
DiscussionServers (DiscussionServer)
Discussions (Discussion)

由 Discussion 物件所組成的集合，表示登錄在 Microsoft Office 主應用程式中的討論。

使用 Discussions 集合

使用 Global 物件的 OpenDiscussions 方法，可傳回由指定的統一資源定位器 (URL) 所存取的文件中的 Discussions 集合。以下範例傳回資料夾 http://examples.microsoft.com 的 Discussions 集合。

Set dscDiscussions = _
    OpenDiscussions("http://examples.microsoft.com")

使用 Add 方法，在 Discussions 集合中加入新的 Discussion 物件。以下範例會在集合中加入回覆第一個 Discussion 物件的新討論。

Set myResponse = dscDiscussions(1).Discussions.Add _
    Subject:="Supply information", Text:="Staples are here!", Bookmark:="Staples"

使用 URL 屬性，可傳回文件檔的 URL，該文件檔包括指定的 Discussions 集合。如下面範例所示：

Dim dscDiscussions As Discussions
Set dscDiscussions = OpenDiscussions("http://samples.microsoft.com")
MsgBox dscDiscussions.URL

使用 Discussions(Index) 可傳回單一的 Discussion 物件，其中 Index 是討論的索引序號。以下範例將變數 dscOfficeSupplies 設定為 Discussions 集合中的第一個討論。

Set dscOfficeSupplies = dscDiscussions(1)


DiscussionServer 物件

Global
DiscussionServers (DiscussionServer)
Discussions (Discussion)

代表 Microsoft Office 主應用程式中的討論區伺服器。DiscussionServer 物件是 DiscussionServers 集合的成員。

使用 DiscussionServer 物件

使用 DiscussionServers(Index) 傳回單一的 DiscussionServer 物件，其中 Index 是指定討論區伺服器的索引編號。以下範例將變數 dscAccounting 設為 DiscussionServers 集合中的第三個伺服器。

Set dscAccounting = dscServers(3)

使用 FriendlyName 屬性，可設定或傳回指定討論區伺服器的適當名稱。以下範例將集合中第一個伺服器的名稱變更為 Shipping Department Server。

dscServers(1).FriendlyName = _
    "Shipping Department Server"

使用 ServerAddress 屬性，可設定或傳回指定討論區伺服器的統一資源定位器 (URL)。以下範例將集合中第一個伺服器的 URL 變更為 http://example.microsoft.com。

dscServers(1).ServerAddress = _
    "http://example.microsoft.com/"

使用 SetAsDefault 方法，將指定討論區伺服器設定為預設伺服器，以用於討論的使用者介面和對整體性方法 OpenDiscussions 的後續呼叫程序。以下範例將 DiscussionServers 集合中的第三個伺服器設定為預設伺服器。

dscServers(3).SetAsDefault


DiscussionServers 集合

Global
DiscussionServers (DiscussionServer)
Discussions (Discussion)

由 DiscussionServer 物件所組成的集合，代表 Microsoft Office 主應用程式中的討論區伺服器。

使用 DiscussionServers 集合

使用 Global 物件的 OpenDiscussions 方法，可傳回登錄在所用電腦上所有討論區伺服器的 DiscussionServers 集合。以下範例傳回 DiscussionServers 集合，並使用訊息方塊顯示集合中的伺服器數目。

Dim dscDiscussionServersCollection As DiscussionServers
Set dscDiscussionServersCollection = DiscussionServers
MsgBox dscDiscussionServersCollection.Count

使用 Add 方法，可在集合中加入新的討論區伺服器。以下範例會加入一個名為 Sample Server 的新討論區伺服器，其統一資源定位器 (URL) 為 http://samples.microsoft.com。

Dim dscServers As DiscussionServers
Set dscServers = DiscussionServers
dscServers.Add FriendlyName:="Sample Server", _
    ServerAddress:="http://samples.microsoft.com/"

使用 DiscussionServers(Index) 傳回單一的 DiscussionServer 物件，其中 Index 是指定討論區伺服器的索引編號。以下範例將變數 dscAccounting 設為 DiscussionServers 集合中的第三個伺服器。

Set dscAccounting = dscServers(3)


Global 物件

Global
DiscussionServers (DiscussionServer)
Discussions (Discussion)

代表 Microsoft Office Server Extensions (OSE) 程式庫的一個範例。使用 Global 物件可在討論區伺服器中加入訂閱，獲得目前 Microsoft Office 的使用者名稱，並且傳回討論區伺服器的集合或 OSE 主機上的討論集合。

使用 Global 物件

使用 CurrentUserName 屬性，可傳回目前 Microsoft Office 的使用者名稱。以下範例會使用訊息方塊顯示目前的使用者名稱。

MsgBox "The current Microsoft Office user is " & _
    CurrentUserName

使用 OpenDiscussions 方法，可傳回由統一資源定位器 (URL) 指定之文件檔的 Discussions 集合。以下範例傳回資料夾 http://examples.microsoft.com 的 Discussions 集合。

Set dscDiscussions = _
    OpenDiscussions("http://examples.microsoft.com")


Add 方法

套用到 Discussions 物件的 Add 方法。

在指定的 Discussions 集合中加入 Discussion 物件。

expression.Add(Subject, Text, Bookmark)

expression 必選。傳回上列物件之一的運算式。

Subject 選擇性的 String。特定討論的主旨。

Text 選擇性的 String。特定討論的內文。

Bookmark 選擇性的 String。文件中指定討論位置的唯一識別碼。

附註

新討論的 Author 屬性會自動設定為由 Microsoft Office 主機應用程式所決定的目前使用者名稱。

套用到 DiscussionServers 物件的 Add 方法。

在 DiscussionServers 集合中加入 DiscussionServer 物件。

expression.Add(FriendlyName, ServerAddress)

expression 必選。傳回上列物件之一的運算式。

FriendlyName 必選的 String。指定討論區伺服器的適當名稱。

ServerAddress 必選的 String。指定討論區伺服器的統一資源定位器 (URL)。

附註

在 ServerAddress 引數中指定的 URL 必須包括斜線字元，如下面範例中使用 URL http://samples.microsoft.com。

dscServers.Add "Samples Folder", _
    http://samples.microsoft.com/

範例

套用到 Discussions 物件。

本範例會加入指定 Discussion 物件的新討論回覆。

Set strResponse = dscDiscussions(1).Discussions.Add _
    ("Supply information", "Staples are here!", "Staples")

套用到 DiscussionServers 物件。

本範例加入一個新的討論區伺服器，該伺服器的適當名稱為 Corporate Information Server，URL 為 http://samples.microsoft.com。

Dim dscServers As DiscussionServers
Set dscServers = DiscussionServers
dscServers.Add "Corporate Information Server", _
    "http://samples.microsoft.com/"


Commit 方法

對伺服器上的討論儲存交付指定 Discussion 物件的所有摘要資訊 (包括內容變更)。

expression.Commit

expression 傳回 Discussion 物件的運算式。

範例

本範例交付所有與討論有關的摘要資訊 (包括所有的內容變更)。

Dim dscDiscussions As Discussions
Set dscDiscussions = OpenDiscussions(URL:="http://samples.microsoft.com")
dscDiscussions(1).Discussions(1).Commit


Delete 方法

將指定物件由所在物件中移除。

expression.Delete

expression 傳回 Discussion 或 DiscussionServer 物件的運算式。

註解

當您使用 Delete 方法從 DiscussionServer 物件中移除一個討論項目時，此討論項目的任何回覆都將自動上移到該刪除項目的等級。

範例

此範例會從 Discussions 集合中移除第三個討論項目。所有與此討論相關的子討論都會上移到此刪除項目的層次。

dscCurrentCollection(3).Delete


OpenDiscussions 方法

傳回由統一資源定位器 (URL) 指定之文件中的 Discussions 集合。唯讀 Object。

expression.OpenDiscussions(URL)

expression 傳回 Microsoft Office Server Extensions (OSE) 物件的運算式。

URL 必選。一個代表討論區伺服器 URL 的字串。

範例

此範例傳回資料夾 http://examples.microsoft.com 中的 Discussions 集合。

Dim dscDiscussions As Discussions
Set dscDiscussions = _
    OpenDiscussions("http://examples.microsoft.com")


SetAsDefault 方法

將指定的討論區伺服器設定為預設伺服器，以便用於討論的使用者介面，及對全域性函式 OpenDiscussions 的所有後續呼叫程序。

expression.SetAsDefault

expression 傳回 DiscussionServer 物件的運算式。

註解

預設討論區伺服器一律是 DiscussionServers 集合中的第一個 DiscussionServer 物件。使用 SetAsDefault 方法重新排列 DiscussionServers 集合成員的順序，這樣預設伺服器就會位於 Item(1) 指出的位置。因而，在呼叫此方法後，您應該移除舊的 DiscussionServer 物件中所設定的所有變數。

範例

本範例將 DiscussionServers 集合中的第三個伺服器設定為預設討論區伺服器。

dscServers(3).SetAsDefault


Author 屬性

獲得目前討論項作者的使用者名稱。唯讀 String。

expression.Author

Expression 必選。傳回 Discussion 物件的運算式。

範例

如果 Author 屬性傳回的名稱是“Jim Hance”，那麼下面範例會將布林值 positiveMatch 設定為 True。

Dim dscDiscussions As Discussions
Dim positiveMatch As Boolean
Set dscDiscussions = OpenDiscussions("http://samples.microsoft.com")
If dscDiscussions(1).Discussions(2).Author = "Jim Hance" Then
    positiveMatch = True
End If


AutoCommit 屬性

傳回或設定一個值，該值指定是否要將 Discussion 物件屬性的變更立即影響討論儲存。讀/寫 Boolean。

expression.AutoCommit

Expression 必選。傳回 Discussion 物件的運算式。

附註

如果此屬性值設定為 True，那麼對 Discussion 物件的各個屬性的所有程式性變更，都將立刻交付給討論儲存。如果此值設定為 False，那麼除非呼叫 Commit 方法，否則不會將屬性變更交付給討論儲存。如果在結束階段作業前未呼叫 Commit 方法，那麼所有未儲存的屬性變更都將喪失。預設值是 True。

如果考慮執行的效能問題，也可將 AutoCommit 屬性設定為 False，並適當地使用 Commit 方法。

範例

本範例將指定 Discussion 物件的 AutoCommit 屬性設定為 False。

Dim dscDiscussions As Discussions
Set dscDiscussions = OpenDiscussions("http://samples.microsoft.com")
dscDiscussions(1).Discussions(1).AutoCommit = False


Bookmark 屬性

傳回或設定 String，代表文件中指定的 Discussion 物件位置的唯一識別碼。

expression.Bookmark

Expression 必選。傳回 Discussion 物件的運算式。

範例

本範例將指定討論的書籤設定為“Supplies”。

Dim dscDiscussions As Discussions
Set dscDiscussions = OpenDiscussions("http://samples.microsoft.com")
dscDiscussions(1).Discussions(3).Bookmark = _
    "Supplies"


Count 屬性

傳回指定集合中的項目數。唯讀的 Long。

註解

Discussions(1).Count 傳回 Discussions 集合的第一個討論中的項目數。但 Count 屬性並不遞迴間格數，而且任何回覆 Discussion(1) 物件的討論均不包含在此數目中。

範例

本範例使用訊息方塊顯示 Discussions 集合中所有討論的數目。

Dim dscDiscussions As Discussions
Set dscDiscussions = _
    OpenDiscussions("http://examples.microsoft.com")
dscDiscussions.Add "Supply room questions", _
    "Did anyone order staples?",
MsgBox dscDiscussions.Count


CurrentUserName 屬性

傳回或設定目前 Microsoft Office 的使用者名稱。讀/寫 String。

expression.CurrentUserName

expression 必選。傳回 Global 物件的運算式。

範例

本範例使用訊息方塊顯示目前 Microsoft Office 的使用者名稱。

MsgBox "The current Microsoft Office user is " & _
    CurrentUserName


Discussions 屬性

傳回回覆至指定 Discussion 物件之所有 Discussion 物件的集合。

expression.Discussions

Expression 必選。傳回 [套用至] 清單中物件之一的運算式。

附註

傳回的集合包括 Discussion 集合，該集合是由父討論的回覆所組成的，您可透過此集合中的指定 Discussion 物件的 Discussions 屬性來存取該集合。對討論的層次數沒有功能上的限制，僅受限於所用伺服器的記憶體裝置的容量。

範例

本範例使用 Discussions 屬性傳回一個回覆指定討論的討論，然後將傳回討論的主旨設為“More Supply Questions”。

Dim dscDiscussions As Discussions
Set dscDiscussions = OpenDiscussions("http://samples.microsoft.com")
dscDiscussions(1).Discussions(3).Subject = _
    "More Supply Questions


FriendlyName 屬性

設定或傳回指定討論區伺服器的適當名稱。讀/寫 String。

範例

本範例將指定討論區伺服器的名稱變更為 Accounting Department Information Server。

dscServers(1).FriendlyName = _
    "Accounting Department Information Server"


Index 屬性

Discussions 集合中指定 Discussion 物件的索引序號。唯讀 Long。

expression.Index

Expression 必選。傳回 [套用至] 清單中物件之一的運算式。

範例

本範例使用 Index 屬性來尋找 Discussions 集合中指定 Discussion 物件的位置。

Set myResponse = dscDiscussions(1).Discussions.Add _
    ("Supply information", "Staples are here!", "Staples")
MsgBox myResponse.Index


Item 屬性

傳回 Discussions 集合中的 Discussion 物件，或傳回 DiscussionServers 集合中的 DiscussionServer 物件。

expression.Item(Index)

expression 必選。傳回 Discussion 或 DiscussionServer 物件的運算式。

Index 必選的 Variant 資料類型。要傳回的討論或討論區伺服器的索引序號。

範例

以下範例使用 Item 屬性，在訊息方塊中顯示目前檔案或資料夾中，第五個討論的第二個回覆的作者名稱。

MsgBox dscDiscussions.Item(5).Discussions.Item(2).Author


LoginName 屬性

傳回一個 String，代表指定的 Discussion 物件的作者在 Microsoft Windows NT 的別名。

expression.LoginName

Expression 必選。傳回 [套用至] 清單中物件之一的運算式。

附註

登入名稱通常與使用者的電子郵件別名相同。

範例

本範例使用訊息方塊顯示目前 Microsoft Windows NT 的使用者登入名稱。

MsgBox dscDiscussions(1).LoginName


Parent 屬性

傳回指定物件的父物件。

expression.Parent

Expression 必選。傳回 [套用至] 清單中物件之一的運算式。


ServerAddress 屬性

設定或傳回指定討論區伺服器的統一資源定位器 (URL)。讀/寫 String。

範例

本範例將指定討論區伺服器的 URL 變更為 http://example.microsoft.com。

dscServers(1).ServerAddress = _
    "http://example.microsoft.com/"


Subject 屬性

傳回或設定 String，代表指定 Discussion 物件的主題。

expression.Subject

expression 必選。傳回 Discussions 物件的運算式。

範例

本範例將指定討論的主旨設定為「More Supply Questions」。

Dim dscDiscussions As Discussions
Set dscDiscussions = OpenDiscussions("http://samples.microsoft.com")
dscDiscussions(1).Discussions(3).Subject = _
    "More Supply Questions"


Text 屬性

傳回或設定 String，代表指定 Discussion 物件的本文。

expression.Text

Expression 必選。傳回 [套用至] 清單中物件之一的運算式。

附註

討論最多可包括 64K 位元組的文字。

範例

本範例將指定討論的文字設為 Who do I see to get more staples?

Dim dscDiscussions As DiscussionsSet dscDiscussions = _
                OpenDiscussions("http://samples.microsoft.com")

dscDiscussions(1).Discussions(3).Text = _
    "Who do I see to get more staples?"


Timestamp 屬性

傳回 Date，代表指定 Discussion 物件建立的日期和時間，或者傳回 Discussion 物件最近一次變更的日期和時間。

expression.Timestamp

Expression 必選。傳回 Discussion 物件的運算式。

範例

本範例顯示建立或最近一次變更指定討論的日期和時間。

MsgBox dscDiscussions(1).Timestamp


URL 屬性

傳回包含特定 Discussions 集合之文件檔的統一資源定位器 (URL)。唯讀 String。

範例

本範例顯示指定 Discussions 集合的 URL。

Dim dscDiscussions As Discussions
Set dscDiscussions = OpenDiscussions("http://samples.microsoft.com")
MsgBox dscDiscussions.URL


INDEX~TEXT
seealso~"請參見"
appliesto~"套用至"
elements~"元素"
properties~"屬性"
methods~"方法"
events~"事件"
example~"範例"
specifics~"特定"
show~"顯示描述"
hide~"隱藏描述"


DiscussionServers 集合

 Discussions 集合


Discussion 物件


Discussion 物件

 DiscussionServer 物件


Global 物件


DiscussionServer 物件


Discussions 集合


Add 方法
Count 屬性

 Item 屬性

 Parent 屬性

 URL 屬性
Discussion 物件


Delete 方法

 SetAsDefault 方法
FriendlyName 屬性

 ServerAddress 屬性


Add 方法


OpenDiscussions 方法
CurrentUserName 屬性


Discussion 物件

 DiscussionServers 集合

 Discussions 集合