在一个按钮里有如下代码,去修改WORD文档的纸型、边距。
在程序开始运行后,第一次执行按钮内代码时,可以成功完成。
在执行成功后,如果不关闭程序,再次执行代码时就报错。“远程服务器不存在或不能使用”
如果把'~~~~~~~~~~~~~~之间的代码去掉就可以了。
这是什么原因,如何解决啊?
先谢谢了代码如下
Dim WordApp As Word.Application 'WORD应用对象
Dim WordDemo As Word.Document '文档应用对象
Set WordApp = New Word.Application
Dim a As Word.Documents
Set a = WordApp.Documents
Set WordDemo = a.Open(sFormName)
'~~~~~~~~~~~~~~~~~~~
With WordDemo.PageSetup
.BottomMargin = CentimetersToPoints(0)
.LeftMargin = CentimetersToPoints(0)
.RightMargin = CentimetersToPoints(0)
.TopMargin = CentimetersToPoints(0)
.Gutter = CentimetersToPoints(0)
.PaperSize = wdPaperCustom
.PageHeight = CentimetersToPoints(Picture1.ScaleHeight)
.PageWidth = CentimetersToPoints(Picture1.ScaleWidth)
End With
'~~~~~~~~~~~~~~
WordDemo.Close Word.WdSaveOptions.wdSaveChanges
Set WordDemo = Nothing
WordApp.Quit Word.WdSaveOptions.wdSaveChanges
Set WordApp = Nothing
在程序开始运行后,第一次执行按钮内代码时,可以成功完成。
在执行成功后,如果不关闭程序,再次执行代码时就报错。“远程服务器不存在或不能使用”
如果把'~~~~~~~~~~~~~~之间的代码去掉就可以了。
这是什么原因,如何解决啊?
先谢谢了代码如下
Dim WordApp As Word.Application 'WORD应用对象
Dim WordDemo As Word.Document '文档应用对象
Set WordApp = New Word.Application
Dim a As Word.Documents
Set a = WordApp.Documents
Set WordDemo = a.Open(sFormName)
'~~~~~~~~~~~~~~~~~~~
With WordDemo.PageSetup
.BottomMargin = CentimetersToPoints(0)
.LeftMargin = CentimetersToPoints(0)
.RightMargin = CentimetersToPoints(0)
.TopMargin = CentimetersToPoints(0)
.Gutter = CentimetersToPoints(0)
.PaperSize = wdPaperCustom
.PageHeight = CentimetersToPoints(Picture1.ScaleHeight)
.PageWidth = CentimetersToPoints(Picture1.ScaleWidth)
End With
'~~~~~~~~~~~~~~
WordDemo.Close Word.WdSaveOptions.wdSaveChanges
Set WordDemo = Nothing
WordApp.Quit Word.WdSaveOptions.wdSaveChanges
Set WordApp = Nothing
解决方案 »
- vb如何利用TIMER操作多个窗口
- VB 数据转换问题,高分请教
- 多年未解决的报表问题,请各位帮忙看看
- ARcGIS 开发中,如何调用raster文件??
- 用post提交的网页的截取方法和用get的一样吗?
- 建了一个最简单的库,执行:实时错误3001:参数类型不正确,或不在可以接受的范围之内,或与其它参数冲突!
- (急急急)同一个teechart控件如何Import多个已Export的文件,并同时显示比对.
- 急救!一个第三方控件在没有VB的环境下不能运行
- 如何去掉窗体的菜单栏高度而获取窗体客户区域的高度?
- 救命(关于API打开IE)
- ftp 问题!在线等,各位大虾都来啊!
- 如何判断http://www.xxx.com是否可用?
至于 修改WORD文档的纸型、边距 你可以定义好WORD模版的
Dim WordDemo As Word.Document '文档应用对象
Set WordApp = New Word.Application
Dim a As Word.Documents
Set a = WordApp.Documents
Set WordDemo = a.Open(App.Path & "/test.doc")
'~~~~~~~~~~~~~~~~~~~
With WordDemo.PageSetup
.BottomMargin = WordApp.CentimetersToPoints(0)
.LeftMargin = WordApp.CentimetersToPoints(0)
.RightMargin = WordApp.CentimetersToPoints(0)
.TopMargin = WordApp.CentimetersToPoints(0)
.Gutter = WordApp.CentimetersToPoints(0)
.PaperSize = wdPaperCustom
.PageHeight = WordApp.CentimetersToPoints(50)
.PageWidth = WordApp.CentimetersToPoints(50)
End With
'~~~~~~~~~~~~~~
WordDemo.Close Word.WdSaveOptions.wdSaveChanges
Set WordDemo = Nothing
WordApp.Quit Word.WdSaveOptions.wdSaveChanges
Set WordApp = Nothing
.BottomMargin = CentimetersToPoints(0)
.LeftMargin = CentimetersToPoints(0)
.RightMargin = CentimetersToPoints(0)
.TopMargin = CentimetersToPoints(0)
.Gutter = CentimetersToPoints(0)
.PaperSize = wdPaperCustom
.PageHeight = CentimetersToPoints(Picture1.ScaleHeight)
.PageWidth = CentimetersToPoints(Picture1.ScaleWidth)
End With
-------------------------------------------------问题出在上面这段代码里,没指定CentimetersToPoints的所属对象,所以会包你所说的错误,改为这样:With WordDemo.PageSetup
.BottomMargin = WordApp.CentimetersToPoints(0)
.LeftMargin = WordApp.CentimetersToPoints(0)
.RightMargin = WordApp.CentimetersToPoints(0)
.TopMargin = WordApp.CentimetersToPoints(0)
.Gutter = WordApp.CentimetersToPoints(0)
.PaperSize = wdPaperCustom
.PageHeight = WordApp.CentimetersToPoints(50)
.PageWidth = WordApp.CentimetersToPoints(50)
End With
.BottomMargin = WordApp.CentimetersToPoints(0)
.LeftMargin = WordApp.CentimetersToPoints(0)
.RightMargin = WordApp.CentimetersToPoints(0)
.TopMargin = WordApp.CentimetersToPoints(0)
.Gutter = WordApp.CentimetersToPoints(0)
.PaperSize = Word.wdPaperCustom '<----------------------上面少指了这句
.PageHeight = WordApp.CentimetersToPoints(50)
.PageWidth = WordApp.CentimetersToPoints(50)
End With