兄弟,你编的应该只能在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进程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)