然后再程序中,点击命令按扭激活它成为当前活动窗口
这个怎么实现呢??
或是点击命令按扭,保存并关闭打开的文档??
实现哪种都给分!!!!
13 个解决方案
#1
activeapp试一下
api SetForegroundWindow
第2个可以发送command消息来处理菜单。
具体你可以用spy++拦截下。
api SetForegroundWindow
第2个可以发送command消息来处理菜单。
具体你可以用spy++拦截下。
#2
楼主请说得再详细一点:什么类型的文档?word?text?知道完整路径文件名吗?
#3
关注!
#4
致::happy_sea(开心海)
感谢大哥关注小弟的问题
我的是 word 文档,,知道完整的路径名的
问题 源于此:一个全屏的界面,上面有一命令按扭,点击之后能打开一个word 文档,用户按一定要求操作该文档,之后当其操作完之后,如果保存并关闭了,,点击另外的按扭,会执行已经录制的宏,判断其操作,,这时问题出现,,就是 用户有时并不一定会操作完该word 文档,就回到全屏的界面,之后他或许会再次想操作 该文档,而这时该文档已经打开了,尤其是点击完成时,会因为打开了多个文档而使得文档无法保存(会出现另存为),完成的功能实现不了!
感谢大哥关注小弟的问题
我的是 word 文档,,知道完整的路径名的
问题 源于此:一个全屏的界面,上面有一命令按扭,点击之后能打开一个word 文档,用户按一定要求操作该文档,之后当其操作完之后,如果保存并关闭了,,点击另外的按扭,会执行已经录制的宏,判断其操作,,这时问题出现,,就是 用户有时并不一定会操作完该word 文档,就回到全屏的界面,之后他或许会再次想操作 该文档,而这时该文档已经打开了,尤其是点击完成时,会因为打开了多个文档而使得文档无法保存(会出现另存为),完成的功能实现不了!
#5
既然是word文档,而且知道文件名,那这个问题就好办了,请看下面的代码:
'请先添加对word对象的引用
Dim objWord As Object
Dim doc As Object
Private Sub command1_click()
Set doc = GetObject("d:\test.doc") '获取word的documents对象
Set objWord = doc.Application '通过doc获取word对象
doc.Close savechanges:=True '保存并关闭文档
objWord.DisplayAlerts = False '禁止出现提示
objWord.Quit '退出word
End Sub
获取到objWord对象以后,你就可以用word对象的各种方法属性来进行任意操作了,getobject真是个好东西。
'请先添加对word对象的引用
Dim objWord As Object
Dim doc As Object
Private Sub command1_click()
Set doc = GetObject("d:\test.doc") '获取word的documents对象
Set objWord = doc.Application '通过doc获取word对象
doc.Close savechanges:=True '保存并关闭文档
objWord.DisplayAlerts = False '禁止出现提示
objWord.Quit '退出word
End Sub
获取到objWord对象以后,你就可以用word对象的各种方法属性来进行任意操作了,getobject真是个好东西。
#6
学习
#7
If IsWordOpen Then '调用函数判断文件是否已经打开
' MsgBox " 您要操作的文件已经打开!" & Chr(13) & "如果操作完毕,请保存后关闭,进行其他操作!", vbInformation + vbOKOnly, "系统提示"
' WindowState = 1
WordApp.Visible = True
WordApp.Activate
WordApp.WindowState = wdWindowStateMaximize
Set WordDoc = GetObject("D:\TEST\" & KaoHao & "\word.doc")
WordDoc.Activate
Else
WordApp.Visible = True
WordApp.Documents.Open "D:\TEST\" & KaoHao & "\word.doc"
End If
烦请各位看看我写的代码哈
我的用意是如果要操作的文档已经打开则调用函数判断一下,然后在将打开的原文档显示为当前窗口,可是我的代码,如果是文档已经打开则只是能重新打开一个word 的 application
不知道如何,将打开的原文档显示为当前窗口???
还请各位告之一二?
' MsgBox " 您要操作的文件已经打开!" & Chr(13) & "如果操作完毕,请保存后关闭,进行其他操作!", vbInformation + vbOKOnly, "系统提示"
' WindowState = 1
WordApp.Visible = True
WordApp.Activate
WordApp.WindowState = wdWindowStateMaximize
Set WordDoc = GetObject("D:\TEST\" & KaoHao & "\word.doc")
WordDoc.Activate
Else
WordApp.Visible = True
WordApp.Documents.Open "D:\TEST\" & KaoHao & "\word.doc"
End If
烦请各位看看我写的代码哈
我的用意是如果要操作的文档已经打开则调用函数判断一下,然后在将打开的原文档显示为当前窗口,可是我的代码,如果是文档已经打开则只是能重新打开一个word 的 application
不知道如何,将打开的原文档显示为当前窗口???
还请各位告之一二?
#8
学习
#9
今天都很忙么,怎么没人来看看我的代码啊
现在好郁闷啊!!
现在好郁闷啊!!
#10
楼主没有认真分析我的代码啊!
就不具体给你改了,提示一下错在哪里你自己搞吧:
如果文档已打开,应该先用Set WordDoc = GetObject("D:\TEST\" & KaoHao & "\word.doc")获取到WordDoc这个word.documents对象,然后再用Set WordApp=WordDoc.Application获取到WordDoc对象,你在顺序上搞错了。
就不具体给你改了,提示一下错在哪里你自己搞吧:
如果文档已打开,应该先用Set WordDoc = GetObject("D:\TEST\" & KaoHao & "\word.doc")获取到WordDoc这个word.documents对象,然后再用Set WordApp=WordDoc.Application获取到WordDoc对象,你在顺序上搞错了。
#11
致:happy_sea(开心海)
您的代码我看了
并且在机器上实现了一下,
用户有时并不一定会操作完该word 文档,就回到全屏的界面,之后他或许会再次想操作 该文档,而这时该文档已经打开了,尤其是点击完成时,会因为打开了多个文档而使得文档无法保存(会出现另存为),完成的功能实现不了!
可是想想,还是激活已经打开的更好一些
我是想将打开的文档在显示为当前窗口(也就是从程序中转到文档上来),打开未经关闭的文档!
还请大哥在给看看,多谢!
关于文档的操作,不是太熟,还请大哥多多指点!
您的代码我看了
并且在机器上实现了一下,
用户有时并不一定会操作完该word 文档,就回到全屏的界面,之后他或许会再次想操作 该文档,而这时该文档已经打开了,尤其是点击完成时,会因为打开了多个文档而使得文档无法保存(会出现另存为),完成的功能实现不了!
可是想想,还是激活已经打开的更好一些
我是想将打开的文档在显示为当前窗口(也就是从程序中转到文档上来),打开未经关闭的文档!
还请大哥在给看看,多谢!
关于文档的操作,不是太熟,还请大哥多多指点!
#12
我给的代码中:
Set doc = GetObject("d:\test.doc") '获取word的documents对象
Set objWord = doc.Application '通过doc获取word对象
如果"d:\test.doc"这个文档已打开,那么第一句代码doc就是对应于这个已打开的文档的document对象,而第二句objWord就是正在操作"d:\test.doc"这个文档的word对象,而不会另外运行一个word来再次打开"d:\test.doc",如果你运行过我给的代码的话应该知道的。
然后你就可以用objWord.Visible=True来让word显示,objWord.Activate来激活word窗口等等操作,这不正是你要的吗?
Set doc = GetObject("d:\test.doc") '获取word的documents对象
Set objWord = doc.Application '通过doc获取word对象
如果"d:\test.doc"这个文档已打开,那么第一句代码doc就是对应于这个已打开的文档的document对象,而第二句objWord就是正在操作"d:\test.doc"这个文档的word对象,而不会另外运行一个word来再次打开"d:\test.doc",如果你运行过我给的代码的话应该知道的。
然后你就可以用objWord.Visible=True来让word显示,objWord.Activate来激活word窗口等等操作,这不正是你要的吗?
#13
哈哈
问题解决,还是对这个不太熟,今天才发现,我想要的功能都在课本上有
晕,不好好学习的下场啊!!!
谢谢大哥门的帮助,特别感谢开心海大哥
您真是个不错的 人!
问题解决,还是对这个不太熟,今天才发现,我想要的功能都在课本上有
晕,不好好学习的下场啊!!!
谢谢大哥门的帮助,特别感谢开心海大哥
您真是个不错的 人!
#1
activeapp试一下
api SetForegroundWindow
第2个可以发送command消息来处理菜单。
具体你可以用spy++拦截下。
api SetForegroundWindow
第2个可以发送command消息来处理菜单。
具体你可以用spy++拦截下。
#2
楼主请说得再详细一点:什么类型的文档?word?text?知道完整路径文件名吗?
#3
关注!
#4
致::happy_sea(开心海)
感谢大哥关注小弟的问题
我的是 word 文档,,知道完整的路径名的
问题 源于此:一个全屏的界面,上面有一命令按扭,点击之后能打开一个word 文档,用户按一定要求操作该文档,之后当其操作完之后,如果保存并关闭了,,点击另外的按扭,会执行已经录制的宏,判断其操作,,这时问题出现,,就是 用户有时并不一定会操作完该word 文档,就回到全屏的界面,之后他或许会再次想操作 该文档,而这时该文档已经打开了,尤其是点击完成时,会因为打开了多个文档而使得文档无法保存(会出现另存为),完成的功能实现不了!
感谢大哥关注小弟的问题
我的是 word 文档,,知道完整的路径名的
问题 源于此:一个全屏的界面,上面有一命令按扭,点击之后能打开一个word 文档,用户按一定要求操作该文档,之后当其操作完之后,如果保存并关闭了,,点击另外的按扭,会执行已经录制的宏,判断其操作,,这时问题出现,,就是 用户有时并不一定会操作完该word 文档,就回到全屏的界面,之后他或许会再次想操作 该文档,而这时该文档已经打开了,尤其是点击完成时,会因为打开了多个文档而使得文档无法保存(会出现另存为),完成的功能实现不了!
#5
既然是word文档,而且知道文件名,那这个问题就好办了,请看下面的代码:
'请先添加对word对象的引用
Dim objWord As Object
Dim doc As Object
Private Sub command1_click()
Set doc = GetObject("d:\test.doc") '获取word的documents对象
Set objWord = doc.Application '通过doc获取word对象
doc.Close savechanges:=True '保存并关闭文档
objWord.DisplayAlerts = False '禁止出现提示
objWord.Quit '退出word
End Sub
获取到objWord对象以后,你就可以用word对象的各种方法属性来进行任意操作了,getobject真是个好东西。
'请先添加对word对象的引用
Dim objWord As Object
Dim doc As Object
Private Sub command1_click()
Set doc = GetObject("d:\test.doc") '获取word的documents对象
Set objWord = doc.Application '通过doc获取word对象
doc.Close savechanges:=True '保存并关闭文档
objWord.DisplayAlerts = False '禁止出现提示
objWord.Quit '退出word
End Sub
获取到objWord对象以后,你就可以用word对象的各种方法属性来进行任意操作了,getobject真是个好东西。
#6
学习
#7
If IsWordOpen Then '调用函数判断文件是否已经打开
' MsgBox " 您要操作的文件已经打开!" & Chr(13) & "如果操作完毕,请保存后关闭,进行其他操作!", vbInformation + vbOKOnly, "系统提示"
' WindowState = 1
WordApp.Visible = True
WordApp.Activate
WordApp.WindowState = wdWindowStateMaximize
Set WordDoc = GetObject("D:\TEST\" & KaoHao & "\word.doc")
WordDoc.Activate
Else
WordApp.Visible = True
WordApp.Documents.Open "D:\TEST\" & KaoHao & "\word.doc"
End If
烦请各位看看我写的代码哈
我的用意是如果要操作的文档已经打开则调用函数判断一下,然后在将打开的原文档显示为当前窗口,可是我的代码,如果是文档已经打开则只是能重新打开一个word 的 application
不知道如何,将打开的原文档显示为当前窗口???
还请各位告之一二?
' MsgBox " 您要操作的文件已经打开!" & Chr(13) & "如果操作完毕,请保存后关闭,进行其他操作!", vbInformation + vbOKOnly, "系统提示"
' WindowState = 1
WordApp.Visible = True
WordApp.Activate
WordApp.WindowState = wdWindowStateMaximize
Set WordDoc = GetObject("D:\TEST\" & KaoHao & "\word.doc")
WordDoc.Activate
Else
WordApp.Visible = True
WordApp.Documents.Open "D:\TEST\" & KaoHao & "\word.doc"
End If
烦请各位看看我写的代码哈
我的用意是如果要操作的文档已经打开则调用函数判断一下,然后在将打开的原文档显示为当前窗口,可是我的代码,如果是文档已经打开则只是能重新打开一个word 的 application
不知道如何,将打开的原文档显示为当前窗口???
还请各位告之一二?
#8
学习
#9
今天都很忙么,怎么没人来看看我的代码啊
现在好郁闷啊!!
现在好郁闷啊!!
#10
楼主没有认真分析我的代码啊!
就不具体给你改了,提示一下错在哪里你自己搞吧:
如果文档已打开,应该先用Set WordDoc = GetObject("D:\TEST\" & KaoHao & "\word.doc")获取到WordDoc这个word.documents对象,然后再用Set WordApp=WordDoc.Application获取到WordDoc对象,你在顺序上搞错了。
就不具体给你改了,提示一下错在哪里你自己搞吧:
如果文档已打开,应该先用Set WordDoc = GetObject("D:\TEST\" & KaoHao & "\word.doc")获取到WordDoc这个word.documents对象,然后再用Set WordApp=WordDoc.Application获取到WordDoc对象,你在顺序上搞错了。
#11
致:happy_sea(开心海)
您的代码我看了
并且在机器上实现了一下,
用户有时并不一定会操作完该word 文档,就回到全屏的界面,之后他或许会再次想操作 该文档,而这时该文档已经打开了,尤其是点击完成时,会因为打开了多个文档而使得文档无法保存(会出现另存为),完成的功能实现不了!
可是想想,还是激活已经打开的更好一些
我是想将打开的文档在显示为当前窗口(也就是从程序中转到文档上来),打开未经关闭的文档!
还请大哥在给看看,多谢!
关于文档的操作,不是太熟,还请大哥多多指点!
您的代码我看了
并且在机器上实现了一下,
用户有时并不一定会操作完该word 文档,就回到全屏的界面,之后他或许会再次想操作 该文档,而这时该文档已经打开了,尤其是点击完成时,会因为打开了多个文档而使得文档无法保存(会出现另存为),完成的功能实现不了!
可是想想,还是激活已经打开的更好一些
我是想将打开的文档在显示为当前窗口(也就是从程序中转到文档上来),打开未经关闭的文档!
还请大哥在给看看,多谢!
关于文档的操作,不是太熟,还请大哥多多指点!
#12
我给的代码中:
Set doc = GetObject("d:\test.doc") '获取word的documents对象
Set objWord = doc.Application '通过doc获取word对象
如果"d:\test.doc"这个文档已打开,那么第一句代码doc就是对应于这个已打开的文档的document对象,而第二句objWord就是正在操作"d:\test.doc"这个文档的word对象,而不会另外运行一个word来再次打开"d:\test.doc",如果你运行过我给的代码的话应该知道的。
然后你就可以用objWord.Visible=True来让word显示,objWord.Activate来激活word窗口等等操作,这不正是你要的吗?
Set doc = GetObject("d:\test.doc") '获取word的documents对象
Set objWord = doc.Application '通过doc获取word对象
如果"d:\test.doc"这个文档已打开,那么第一句代码doc就是对应于这个已打开的文档的document对象,而第二句objWord就是正在操作"d:\test.doc"这个文档的word对象,而不会另外运行一个word来再次打开"d:\test.doc",如果你运行过我给的代码的话应该知道的。
然后你就可以用objWord.Visible=True来让word显示,objWord.Activate来激活word窗口等等操作,这不正是你要的吗?
#13
哈哈
问题解决,还是对这个不太熟,今天才发现,我想要的功能都在课本上有
晕,不好好学习的下场啊!!!
谢谢大哥门的帮助,特别感谢开心海大哥
您真是个不错的 人!
问题解决,还是对这个不太熟,今天才发现,我想要的功能都在课本上有
晕,不好好学习的下场啊!!!
谢谢大哥门的帮助,特别感谢开心海大哥
您真是个不错的 人!