PDA

View Full Version : 帮我看看这段代码(关于RTF)的


vcvb998
01-11-06, 11:26 PM
我的目的是实现
1、如果在RTF域中为空是嵌入一个WORD文档,
2、RTF域中有对象是就打开对象编辑它
代码如下:
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc=workspace.CurrentDocument

Set doc=uidoc.Document
user=session.commonUserName
uidoc.gotofield("FA24")
If (doc.HasEmbedded) Then
Set rtitem=doc.GetFirstItem("FA24")
Set embed=rtitem.EmbeddedObjects(0)
Set OLEObject=uidoc.GetObject(embed.name)

Else
Set OLEObject=uidoc.CreateObject("MicrosoftWord 文档","Word.Document.8","")
Call uidoc.save
End If
With OLEObject
.TrackRevisions = True
.PrintRevisions = False
.ShowRevisions = True
.Application.UserName=Session.CommonUserName
End With
这段代码存在问题是:
1、在RTF域为空是可以嵌入一个WORD文档,但是出现的编辑文档窗口很小,只能手动把编辑窗口拉大,
问:能不能使编辑窗口全屏
2、在RTF域中有嵌入的WORD文档是,这段代码不能是文档处于编辑状态(或编辑窗口下),但是双击文档区域是可以进入编辑状态的,但我想实现执行这代码就进入编辑嵌入WORD文档,
问:如何改这段代码

tobyzhou
02-11-06, 10:00 AM
Q1:这是从WORD宏中录制到的代码,Application改为你的对象名就OK了.
Application.WindowState = wdWindowStateMaximize
Q2:应该可以在QueryOpen事件中先判断是否有附件,如果有,就变为编辑模式,如果没有,就为读模式,然后在PostOpen事件中根据文档是否为编辑模式来判断是否自动运行你上面的代码就可以了.

vcvb998
02-11-06, 11:32 AM
十分感谢,我具体帮我修改一下吗?我试了就是不行啊

vcvb998
02-11-06, 11:39 AM
能不 能 把Q1在说清楚点吗?

tobyzhou
02-11-06, 02:16 PM
With OLEObject
.WindowState = wdWindowStateMaximize
.TrackRevisions = True
.PrintRevisions = False
.ShowRevisions = True
.Application.UserName=Session.CommonUserName
End With
直接加到with语句中间就可以了。

vcvb998
02-11-06, 10:51 PM
以上两方法都没有解决我的两个问题,请高手指教

vcvb998
03-11-06, 08:47 AM
各路高手能不能帮我解决这两个问题,我在等啊