分享
 
 
 

使用 Microsoft Outlook 2002 开发解决方案

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

使用 Microsoft Outlook 2002 开发解决方案

Paul Cornell 和 Acey Bunch

Microsoft Corporation

2001年11月

适用于:

Microsoft® Outlook® 2002

摘要:本文讨论如何通过使用 Microsoft Outlook 10.0 对象库以及创建自定义窗体来开发 Microsoft Outlook 2002 解决方案。

目录简介 了解 Outlook 对象模型 了解 Outlook 窗体 发布 Outlook 解决方案 总结 其他资源 简介使用 Microsoft® Outlook 开发解决方案有许多不同的方法。其中关键一点是:不论使用什么方法,必然要用到 Microsoft Outlook 10.0 对象库,也称为 Outlook 对象模型。在使用 Outlook 对象模型时,通常要用到 Outlook 中的 Visual Basic® 编辑器以及 Visual Basic for Applications (VBA) 编程语言。

开发 Outlook 解决方案的方法之一是开发交互式 Outlook 窗体,然后使用 Outlook 中的窗体设计器、Outlook 窗体对象模型以及 Visual Basic Scripting Edition (VBScript) 编程语言进行相应设计(Outlook 窗体不能在 Outlook 之外设计或使用)。

另一种方法是通过其他组件对象模型 (COM) 应用程序开发工具(例如 Microsoft Visual Basic 或 Microsoft Visual C++®)来使用 Outlook 对象模型,这时只要设置一个指向 Microsoft Outlook 9.0 对象库(用于 Microsoft Outlook 2000)或 Microsoft 10.0 对象库(用于 Microsoft Outlook 2002)的引用即可。

此外,还可以使用 VBScript 通过 Web 页来调用 Outlook 对象模型的各项功能。您可以改编本专栏中的代码以用于上述任何方案。如果 VBA 和 VBScript 有较大差异,我们将提供详细的代码示例来演示如何使用它们。

了解 Outlook 对象模型通过 Outlook 对象模型可以编程访问各种 Outlook 组件和功能,例如:Outlook 用户界面、文件夹、电子邮件消息、地址列表以及联系人等。在 Outlook 2002 中,对象模型被称为 Microsoft Outlook 10.0 对象库。

要查看 Outlook 对象模型的各个成员,请启动 Outlook,然后显示 Visual Basic 编辑器,方法是:在菜单中依次单击“工具”|“宏”|“Visual Basic 编辑器”,或按 ALT+F11 键。显示 Visual Basic 编辑器后,可以使用对象浏览器来浏览 Outlook 对象模型,方法是:在菜单中依次单击“视图”|“对象浏览器”,或按 F2 键。在对象浏览器中,可以使用“项目/库”列表来选择特定的对象模型进行查看。在本例中,我们查看的是 Outlook 对象模型,如图 1 所示。

图 1:对象浏览器中显示的 Outlook 对象模型

在“类”窗格中选择成员时,“成员”窗格中将显示与给定类相关的成员。请注意,如果在“类”或“成员”窗格中选择了给定对象模型的成员,可以按 F1 键打开该成员的 Outlook 语言参考帮助主题。

使用 Outlook 对象模型编程时,有几个最常用的对象:

Application

这是根对象,提供对其他对象模型的访问。在 Outlook 中使用 VBA 时,Application 对象被隐含声明,这样您可以选择是否使用 Application 关键字。 NameSpace

此对象用于访问存储项目(如文件夹)。“MAPI”是唯一可以使用的名称空间。 Item

此对象用于包含特定的 Outlook 数据,例如电子邮件消息、约会或联系人。 Folder

此对象是 Outlook 项目的默认存储容器。 Explorer

此对象是显示 Outlook 项目集合的默认界面。每个不同的项目类型都有不同的浏览器。 Inspector

此对象是显示单个 Outlook 项目的默认界面。它们通常都显示为窗体。 下表列出了 Outlook 对象模型中的某些其他对象。

对象/集合代表Action、Actions

可以在一个项目上执行的特定操作。例如,一个邮件项目具有“答复”、“全部答复”、“转发”以及“答复到文件夹”等操作。

AddressList、AddressLists、AddressEntry、AddressEntries

地址列表(如联系人列表、个人通讯簿或全局通讯簿),不包含地址或包含多个地址。

Application

根 Outlook 应用程序对象。

AppointmentItem、ContactItem、DistListItem、DocumentItem、JournalItem、MailItem、MeetingItem、NoteItem、PostItem、RemoteItem、ReportItem、TaskItem、TaskRequestAcceptItem、TaskRequestDeclineItem、TaskRequestItem、TaskRequestUpdateItem

这些是存储在 Outlook 文件夹中的项目类型。

Attachment、Attachments

Outlook 项目中的文档链接或文档。

Exception、Exceptions

周期性约会计划的例外情况。

Explorer、Explorers、Panes

Outlook 用户界面,以及 Outlook 用户界面中的窗格。

Folders

在 Outlook 文件夹层次结构的某一层上所有可用的 Outlook 文件夹。

Inspector、Inspectors、Pages

一种窗口,包含特定 Outlook 项目(如电子邮件消息或联系人)以及 Outlook 项目中的任何选项卡页(如任务项中的“详细信息”选项卡)。

Items、ItemProperty(Outlook 2002 的新功能)、ItemProperties(Outlook 2002 的新功能)

文件夹中的 Outlook 项目(及其相关的内置属性和用户定义属性)。Outlook 项目是 Outlook 中的基本存储单位,类似于文件夹中的文件。项目包括电子邮件消息、约会、联系人、任务、日记条目、记事以及张贴的项目和文档。

MAPIFolder

包含多种 Outlook 项目类型之一的 Outlook 文件夹。

NameSpace

数据源的抽象根对象。“MAPI”是所支持的唯一数据源,它允许访问用户邮件库中存储的所有 Outlook 数据。

OutlookBarGroup、OutlookBarGroups、OutlookBarPane、OutlookBarShortcut、OutlookBarShortcuts、OutlookBarStorage

“Outlook 面板”位于 Outlook 窗口的左边,包含组(如“Outlook 快捷方式”或“其他快捷方式”)和快捷方式(如“收件箱”或“我的电脑”)。

Recipient、Recipients

电子邮件消息的收件人。

RecurrencePattern

约会项目或任务项目的周期性计划。

Reminder(Outlook 2002 的新功能)、Reminders(Outlook 2002 的新功能)

Outlook 的提醒功能,用于提醒任务、联系人以及电子邮件消息。

RemoteItem

远程电子邮件消息。此项目只包含主题、接收的日期和时间、发件人、大小以及电子邮件消息的前 256 个字符。用于给处在远程连接模式下的收件人提供足够的信息,以帮助其判断是否要下载相应的电子邮件消息。

ReportItem

电子邮件发送确认报告。

Results(Outlook 2002 的新功能)、Search(Outlook 2002 的新功能)

Outlook 搜索以及 Outlook 搜索的结果。

TaskItem、TaskRequestAccept、TaskAcceptDecline、TaskRequestItem、TaskRequestUpdate

任务和任务请求,以及针对这些项目的接受、拒绝或更新操作。

UserProperty、UserProperties

Outlook 项目的用户定义属性。

View(Outlook 2002 的新功能)、Views(Outlook 2002 的新功能)

可自定义的 Outlook 项目表示方法。视图的类型包括 olTableView、olCalendarView、olCardView、olIconView 以及 olTimeLineView。

使用 Application 和 NameSpace 对象与其他 Office 对象模型一样,可以使用 Application 对象来进入 Outlook 对象模型。因为在任何时候都只能运行一个 Outlook 实例,因此请使用 New 关键字(如果使用 VBScript,则使用 CreateObject 函数)来创建新的隐藏的 Outlook 实例(如果没有运行 Outlook),或返回正在运行的实例的引用。

得到正在运行的 Outlook 实例的引用后,使用 NameSpace 对象和“MAPI”名称空间类型来访问 Outlook 文件夹和项目。例如:

' VBA

...

Dim objApp As Outlook.Application

Dim objNameSpace As Outlook.NameSpace

Set objApp = New Outlook.Application

Set objNameSpace = objApp.GetNamespace(Type:="MAPI")

...

' VBScript

...

Dim objApp

Dim objNameSpace

Set objApp = CreateObject("Outlook.Application")

Set objNameSpace = objApp.GetNamespace("MAPI")

...

使用 Outlook 文件夹和项目Outlook 项目(例如电子邮件消息、约会、任务等)包含在 Outlook 文件夹中,类似于 Windows 文件系统中的文件和文件夹。MAPIFolder 对象可以包含 Outlook 文件夹和项目。也可以使用 Folders 集合,返回在 Outlook 文件夹层次结构的某一层上的 MAPIFolder 对象。

GetDefaultFolder 方法基于 FolderType 参数返回默认的文件夹(例如,olFolderInbox 常量将“收件箱”文件夹返回给当前登录的用户)。其他默认文件夹包括:

包含 AppointmentItem 对象(会议、一次性约会以及周期性会议或约会)的“日历”文件夹 (olFolderCalendar)。 包含 ContactItem 对象和 DistListItem 对象的“联系人”文件夹 (olFolderContacts)。 “已删除项目”文件夹 (olFolderDeletedItems)。 “草稿”文件夹 (olFolderDrafts)。 包含 JournalItem 对象的“日记”文件夹 (olFolderJournal)。 包含 NoteItem 对象的“记事”文件夹 (olFolderNotes)。 “发件箱”文件夹 (olFolderOutbox)。 “已发送邮件”文件夹 (olFolderSentMail)。 包含 TaskItem 对象的“任务”文件夹 (olFolderTasks)。 “所有公用文件夹”文件夹 (olPublicFoldersAllPublicFolders)。 下面的示例报告了“收件箱”中今天及以前发送的邮件项目的数量。

Public Sub InboxSendDates()

Dim objApp As Outlook.Application

Dim objNameSpace As Outlook.NameSpace

Dim objMAPIFolder As Outlook.MAPIFolder

Dim objMailItem As Outlook.MailItem

Dim lngOldMailCounter As Long

Dim lngNewMailCounter As Long

Set objApp = New Outlook.Application

Set objNameSpace = objApp.GetNamespace(Type:="MAPI")

Set objMAPIFolder = _

objNameSpace.GetDefaultFolder(FolderType:=olFolderInbox)

For Each objMailItem In objMAPIFolder.Items

' 如果需要验证结果,请取消注释下一行。

' Debug.Print objMailItem.SentOn & vbTab & _

objMailItem.Subject

If objMailItem.SentOn < Date Then

lngOldMailCounter = lngOldMailCounter + 1

Else

lngNewMailCounter = lngNewMailCounter + 1

End If

Next objMailItem

MsgBox Prompt:="收件箱中有 " & lngOldMailCounter & _

" 个在今天之前发送的邮件,以及 " & _

lngNewMailCounter & " 个今天发送的邮件。"

End Sub

要处理子文件夹,请使用 Folders 集合。例如:

...

Set objMAPIFolder = _

objNameSpace.GetDefaultFolder(FolderType:=olFolderInbox) _

.Folders("我的紧急项目")

...

要创建新的 Outlook 项目,可以使用 Application 对象的 CreateItem 方法,而无需使用 NameSpace 对象。下面的示例创建了一个私人约会,并将其添加到当前用户的“日历”中:

Public Const SUBJECT_MATTER As String = "午餐会"

Public Const PLACE As String = "Championzone 餐厅"

Public Const START_TIME As String = #8/13/2001 6:00:00 PM#

Public Const DURATION_MINUTES As Long = 90

Public Const MINUTES_BEFORE_START As Long = 45

Public Const BODY_TEXT = "别忘记带礼物!"

Public Sub AddAppointment()

Dim objApp As Outlook.Application

Dim objAppointment As Outlook.AppointmentItem

Set objApp = New Outlook.Application

Set objAppointment = objApp.CreateItem(ItemType:=olAppointmentItem)

With objAppointment

.Subject = SUBJECT_MATTER

.Location = PLACE

.Start = START_TIME

.Duration = DURATION_MINUTES

.ReminderMinutesBeforeStart = MINUTES_BEFORE_START

.BusyStatus = olOutOfOffice

.Body = BODY_TEXT

.Sensitivity = olPrivate

.Save

.Display

End With

End Sub

可以使用 CreateItem 方法创建的项目包括联系人 (olContactItem)、通讯组 (olDistributionListItem)、日记条目 (olJournalItem)、电子邮件消息 (olMailItem)、记事 (olNoteItem)、张贴 (olPostItem) 和任务 (olTaskItem)。还可以使用 CreateItemFromTemplate 方法通过 Outlook 模板文件 (*.oft) 创建新的项目。

使用 Inspector 和 Explorer 对象Outlook 浏览器相当于 Outlook 的用户界面。而检查器是在 Outlook 用户界面中打开的单独的 Outlook 项目。

可以直接通过 Application 对象访问 Inspector 对象和 Explorer 对象。下面的示例将显示“Outlook 面板”、“文件夹列表”和“预览窗格”(如果尚未显示)。

' VBA

Public Sub EnableExplorerUI()

Dim objApp As Outlook.Application

Dim objExplorer As Outlook.Explorer

Set objApp = New Outlook.Application

Set objExplorer = objApp.ActiveExplorer

With objExplorer

If .IsPaneVisible(Pane:=olFolderList) = False Then

.ShowPane Pane:=olFolderList, Visible:=True

End If

If .IsPaneVisible(Pane:=olOutlookBar) = False Then

.ShowPane Pane:=olOutlookBar, Visible:=True

End If

If .IsPaneVisible(Pane:=olPreview) = False Then

.ShowPane Pane:=olPreview, Visible:=True

End If

End With

End Sub

' VBScript

...

Dim objApp

Dim objExplorer

Set objApp = CreateObject("Outlook.Application")

Set objExplorer = objApp.ActiveExplorer

With objExplorer

If .IsPaneVisible(1) = False Then

.ShowPane 1, True

End If

If .IsPaneVisible(2) = False Then

.ShowPane 2, True

End If

If .IsPaneVisible(3) = False Then

.ShowPane 3, True

End If

End With

...

下面的示例使用 Inspectors 集合来显示当前打开的所有 Outlook 项目的名称:

Public Sub InspectorList()

Dim objInspector As Outlook.Inspector

Dim strInspectors As String

Set objInspector = Application.ActiveInspector

If TypeName(VarName:=objInspector) = "Nothing" Then

MsgBox Prompt:="当前未打开任何 Outlook 项。"

Exit Sub

Else

For Each objInspector In Application.Inspectors

strInspectors = strInspectors & vbCrLf & _

objInspector.Caption

Next objInspector

MsgBox Prompt:="打开的 Outlook 项目:" & vbCrLf & _

strInspectors

End If

End Sub

使用 Outlook 面板“Outlook 面板”位于 Outlook 窗口的左边,包含组(如“Outlook 快捷方式”)和组中的快捷方式(如“收件箱”)。

通过以下对象和集合可以编程处理 Outlook 面板的所有内容:OutlookBarPane | OutlookBarStorage | OutlookBarGroups | OutlookBarGroup | OutlookBarShortcuts | OutlookBarShortcut。例如,以下代码行可在 Outlook 面板的“我的快捷方式”组中添加一个指向 MSDN 的快捷方式:

ActiveExplorer.Panes.Item("OutlookBar").Contents.Groups _

.Item("我的快捷方式").Shortcuts _

.Add "http://msdn.microsoft.com", "MSDN"

使用视图通过视图对象可以创建自定义的视图,以帮助您排序、分组和查看所有不同类型的数据。视图的类型有多种:

表视图类型 (olTableView) 通过简单的字段表来查看数据。 日历视图类型 (olCalendarView) 通过日历格式来查看数据。 卡视图类型 (olCardView) 通过一系列卡片来查看数据。每张卡都显示项目所包含的信息,并且可以排序。 图标视图类型 (olIconView) 通过图标来查看数据,类似于 Windows 文件夹或浏览器。 时间线视图类型 (olTimelineView) 通过可自定义的线性时间线按照数据接收的顺序来查看数据。 可以使用 View 对象的 XML 属性来定义和自定义视图。XML 属性允许您返回或设置自定义的 XML 定义,该定义可确定视图的各个特性。XML 定义通过一系列标记和关键字(对应于视图本身的各个属性)来描述视图。下面的示例创建了一个新的“收件箱”文件夹视图,使用了 View 对象的 XML 属性,并将该视图的 XML 定义显示在 Visual Basic 编辑器的“立即”窗口中。

Sub XMLView()

' 创建新视图并在“立即”窗口中

' 显示 XML 定义。

Dim olApp As Outlook.Application

Dim objViews As Views

Dim objView As View

Set olApp = Outlook.Application

Set objViews = _

olApp.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Views

Set objView = objViews.Add _

("新的表视图", olTableView, _

olViewSaveOptionAllFoldersOfType)

Debug.Print objView.XML

End Sub

下面是显示在 Visual Basic 编辑器“立即”窗口中的 XML 定义:

图 2:“收件箱”文件夹视图的 XML 定义(单击图像以查看大图片)

了解 Outlook 窗体为 Outlook 解决方案开发自定义的用户界面时,可以使用两种窗体。一种是在 VBA 环境中用 VBA 编程语言创建的 UserForm。另一种是自定义的 Outlook 窗体,允许您自定义其中一个内置的 Outlook 窗体(如“联系人”窗体),但需要在 Outlook 脚本编辑器中使用 VBScript 编程语言。

使用 UserFormUserForm 最适合创建不需要显示内置 Outlook 项目功能的自定义窗体。通过 UserForm 可以创建自己的窗体,并使用窗体设计器向窗体中添加各种控件。然后可以为窗体添加 VBA 代码以响应各种事件。图 3 所示为 Visual Basic 编辑器中用于创建 UserForm 的各种组件。要创建 UserForm:

打开 Visual Basic 编辑器 (ALT+F11)。 在“插入”菜单上单击“UserForm”。 在“视图”菜单上,单击“工具箱”以显示基本的内部控件。 根据需要添加控件并设置其属性。 在“视图”菜单上,单击“代码”打开代码窗口,并根据需要为窗体和控件的事件编写代码。 注意:UserForm 及其相关编程代码都保存在您本地计算机的 VbaProject.OTM 文件中。

图 3:Visual Basic 编辑器中的窗体设计器(单击图像以查看大图片)

使用 Outlook 窗体创建自定义 Outlook 窗体与创建 UserForm 的过程大不相同。对于自定义 Outlook 窗体,可以从现有的 Outlook 窗体(如联系人、约会或任务窗体)开始创建。然后根据需要使用 Outlook 窗体设计器修改现有窗体,包括添加自定义字段以存储自定义信息。您可以自定义标准窗体,或基于标准窗体创建新窗体。要创建新的自定义 Outlook 窗体:

在 Outlook 中,在菜单中依次单击“工具”|“窗体”|“设计窗体”。显示“设计窗体”对话框,如图 4 所示。

图 4:“设计窗体”对话框

在“设计窗体”对话框中,选择要自定义的窗体类型,然后单击“打开”。显示窗体的设计模式,如图 5 所示。

图 5:设计模式下的“联系人”窗体(单击图像以查看大图片)

在设计模式中打开窗体之后,即可进行修改,例如:

使用“字段选择器”添加额外字段。 更改现有字段的位置。 删除现有字段。 添加自定义字段。 添加新控件,例如复选框、列表框和命令按钮。 更改控件的 Tab 键切换顺序。 在窗体中启用新页面,并给出自定义名称。 更改默认属性。 更改或添加新的操作。 如前面所述,Outlook 窗体与 UserForm 的一个重要差别就是使用 VBScript 编程语言来自动化窗体的各个方面。Outlook 具有一个内置的 VBScript 编辑器,可通过单击“窗体”菜单上的“查看代码”来打开。图 6 所示即为 Outlook 脚本编辑器:

图 6:Outlook 脚本编辑器

进入 Outlook 脚本编辑器之后,便可以创建 VBScript 函数和过程,与窗体和 Outlook 对象模型进行交互。另外,您可以使用“插入事件处理器”对话框为标准事件输入函数声明,这些事件与您正在自定义的特定类型窗体相关。要插入事件处理器:

在菜单中依次单击“Outlook 脚本编辑器”|“脚本”|“事件处理器”。显示“插入事件处理器”对话框,如图 7 所示。 单击要为其编写代码的事件,然后单击“添加”将函数声明插入到 Outlook 脚本编辑器中。

图 7:“插入事件处理器”对话框

完成对窗体的更改之后,便可将其另存为 Outlook 模板文件 (*.oft),或将窗体发布到个人窗体库或组织窗体库中。

对自定义 Outlook 窗体过程的完整描述超出了本文的范围。有关详细信息,请参阅 Microsoft 出版社出版的 Building Applications with Microsoft Outlook 2002(英文)。

发布 Outlook 解决方案如果发布并非由 Outlook 创建的 Outlook 解决方案,则需确保接收方的计算机安装有正确的 Outlook 许可版本。另外,还可以使用“打包和展开”向导、Microsoft Visual Studio® 安装程序或其他类型的软件发布工具。

如果发布的 Outlook 解决方案完全是在 Outlook 中使用 VBA 创建的,则应注意 Outlook 只支持一个 VBA 项目。此项目仅与一个用户和一个运行中的 Outlook 实例相关联。Outlook 不支持将 VBA 代码与单个 Outlook 项目相关联(可以使用 VBScript 来编写与单个 Outlook 项目关联的代码)。覆盖计算机上的 VbaProject.OTM 文件会破坏文件以前的内容。单个 Outlook VBA 项目文件 VbaProject.OTM 位于下列文件夹之一:

如果使用 Microsoft Windows NT® 之前的 Microsoft Windows® 版本,并且为多个用户建立了用户配置文件,则 VbaProject.OTM 将位于 C:\Windows\Profiles\UserName\Application Data\Microsoft\Outlook 文件夹中。如果尚未建立用户配置文件,VbaProject.OTM 将位于 C:\Windows\Application Data\Microsoft\Outlook 文件夹中。 如果使用 Windows NT 或更新的版本,VbaProject.OTM 将位于 C:\Documents and Settings\UserName\Application Data\Microsoft\Outlook 文件夹中。 发布基于 VBA 的 Outlook 解决方案的更好方法是使用组件对象模型 (COM) 插件。有关创建 COM 插件的详细信息,请参阅 Microsoft 知识库中的文章 HOW TO: Create Office COM Add-Ins by Using VBA and Office Developer(英文)。

如果发布附加了 VBScript 的单个 Outlook 项目,可将 Outlook 项目另存为 Outlook 模板文件 (*.oft),然后如同发布任何其他类型文件一样进行发布。如果使用 Microsoft Exchange Server,还可以将 Outlook 模板文件保存在组织窗体库中,以便更容易地在您的组织中访问它们。

总结本文讨论了一些创建 Outlook 解决方案时的基本技术问题。创建 Outlook 解决方案时,可以配合使用编程代码和 Outlook 对象模型:VBA 与 UserForm,VBScript 编程代码与自定义 Outlook 窗体。开发自定义的 Outlook 解决方案之后,用于部署该方案的方法就取决于您组织的需要了。

其他资源有关用于开发 Outlook 解决方案的技术的详细信息,请访问以下 Web 资源:

Outlook Product Page(英文) Office Developer Center(英文) Exchange Developer Center(英文) Windows Script Developer Center(英文) Visual Basic for Applications Home Page(英文)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有