vba word 调用 excel

vba word 调用 excel,第1张

兄弟,你编的应该只能在Excel中运行吧,应该是这样的

Sub Test()

Dim myApplication As ExcelApplication

Dim myWorkBook As ExcelWorkBook

Set myApplication = GetObject(, "excelapplication")

Set myWorkBook = myApplicationActiveWorkBook

MsgBox myWorkBookApplicationActiveSheetCells(1, 1)

End Sub

另外还可以用CreateObject("excelapplication")创建Excel进程!

sub test()

Set xlsApp=GetObject(,"excelapplication")

if xlsApp Is Nothing then exit sub

msgbox xlsAppActiveCellValue

end sub

用Set xlsApp=GetObject(,"excelapplication")可以获得当前打开的excel程序

可以用xlsAppworkbooks(i)表示第i个打开的工作簿(也就是xls文件)

再往下是xlsAppworkbooks(i)sheets(j)表示上述工作簿的第j个工作表

再往下是xlsAppworkbooks(i)sheets(j)cells(rowIndex, ColIndex)表示上述工作表rowIndex行,ColIndex列的单元格,或者用类似xlsAppworkbooks(i)sheets(j)range("A1:B10")取得上述工作表中的A1:B10区域

如果在装office的时候选上“VBA帮助文件”,可以进excel后按alt + F11进入“Microsoft Visual basic”编辑器,然后按F1查看帮助中关于Excel对象模型以及相关对象、属性、方法、事件的介绍

vbnet没用过,vb60的话可以用getobject这种方法,你可以改改试试,看能不能用

Dim xlApp As Object

Set xlApp = GetObject(ExcelFileName)Application '获取Excel对象

调用 WorkbooksOpen 方法之前试试:

wbBDisplayAlerts = False

打开后恢复提示:

wbBDisplayAlerts = True

试试我的方法:

'==================方法1:通过剪切板===============

set fso=CreateObject("ScriptingFileSystemObject")

set fr=fsoopentextfile("123txt",1)

data=frreadall

Set objIE = CreateObject("InternetExplorerApplication")

objIENavigate("about:blank")

objIEdocumentparentwindowclipboardDataSetData "text", data

objIEQuit

set msword=CreateObject("wordApplication")

If mswordTasksExists("Microsoft Excel") = True Then

mswordTasks("Microsoft Excel")WindowState=wdWindowStateMaximize

End If

mswordQuit

Set msexcel=GetObject(,"ExcelApplication")

msexcelWorkSheets(1)cells(1,1)Activate

msexcelActivesheetPaste

'===================方法2:不用剪切板=============

set fso=CreateObject("ScriptingFileSystemObject")

set fr=fsoopentextfile("123txt",1)

data=frreadall

set msword=CreateObject("wordApplication")

If mswordTasksExists("Microsoft Excel") = True Then

mswordTasks("Microsoft Excel")WindowState=wdWindowStateMaximize

End If

mswordQuit

Set msexcel=GetObject(,"ExcelApplication")

msexcelWorkSheets(1)cells(1,1)Activate

msexcelActivesheetcells(1,1)value=data

'====================说明==============================

'上面的代码是打开一个同目录的名字是123txt的文本文件并复制其中内容到指定单元格。

病情分析:

建议小儿感冒颗粒或者双黄连口服液进行治疗。。

指导意见:

注意不要强迫孩子进食,多喂些白开水,选择容易消化的流质饮食如菜汤、稀粥、蛋汤、蛋羹、牛奶等undefined

只能给你个几个参考,当然还有其他方法,希望能够帮到你 望采纳

getobject函数 本质是打开的,只是看不到窗口

Dim wb as workbook

set wb = getobject(具体路径+文件)

with wb

(operation on wb)

end with

wbclose false

set wb=nothing

excel只能运行一个副本,你的程序已经调用了Excel,且设置为不显示,那么当你手动打开Excel时,他自动连接到已经在内存运行的Excel(而且Visible=false),所以你看一闪而过。这是只能用Getobject函数得到Excel对象,把他设置xlsAppVisible = True,就可以看到了

以上就是关于vba word 调用 excel全部的内容,包括:vba word 调用 excel、怎么在VB中读取excel的数据、vb.net如何关闭程序产生的excel进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10151202.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存