VB如何打开WORD/Excel

huangboxi 2009-04-13 10:27:11
想在VB中用个控件显示Word/Excel的内容,只读即可.
在网上找了一个用OLE控件和WebBrowser为容器的程序,自已试过之后才发现OLE只能打开第一页,而WebBrowser在IE6下是可以的,但在IE7里就不能在WebBowser中加载,而是直接调出Office(我的Office是2007).
请问有什么办法直接在VB的控件中显示完整的WORD/EXCEL内容?
谢谢
...全文
221 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
llifang87 2009-05-10
  • 打赏
  • 举报
回复
路过,学习
wanlion 2009-05-10
  • 打赏
  • 举报
回复
mark
mokton 2009-05-09
  • 打赏
  • 举报
回复
Excel 用 表格控件显示,有很多的。
Word 可以用 RichTextBox 来做了。
http://mokton.download.csdn.net
outou 2009-05-08
  • 打赏
  • 举报
回复
这里http://bingning.net/VB/SOURCE/programing/index.html有EXCEL的自定义类参考一下
angelia_0412 2009-05-08
  • 打赏
  • 举报
回复
上面说的都是直接打开文件,如果楼主想在控件里显示内容,只有取出文件的内容,再在你想要的控件上显示了。
东方之珠 2009-05-08
  • 打赏
  • 举报
回复
其实,将写字板作为MDI窗口也不错,但只能用于Word文件。
'试试下面代码:
Option Explicit
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetParent Lib "user32.dll" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Dim hIE As Long

Private Sub Form_Load()
Shell ("Explorer c:\Book1.xls"), vbMaximizedFocus
Timer1.Enabled = True
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
hIE = FindWindow(vbNullString, "Book1.xls")
If hIE <> 0 Then SetParent hIE, Me.hWnd: Timer1.Enabled = False
End Sub
slowgrace 2009-05-08
  • 打赏
  • 举报
回复
你上载一个东西就有了。
lkyzhs 2009-05-08
  • 打赏
  • 举报
回复
不能下载,请问如何才能得下载分啊???????????
lkyzhs 2009-05-08
  • 打赏
  • 举报
回复
http://download.csdn.net/source/471487
Simao 2009-05-08
  • 打赏
  • 举报
回复
关注
clear_zero 2009-05-07
  • 打赏
  • 举报
回复
Private Sub Command1_Click() '''打开WORD
Dim wdapp As Object
Dim wddoc As Object
Dim wdtab As Object
Set wdapp = CreateObject("Word.Application")
Set wddoc = wdapp.Documents.Open("c:\1.doc") '打开WORD



wddoc.Save '保存
wddoc.Close '关闭文档
wdapp.Quit '关闭WORD
Set wddoc = Nothing
Set wdapp = Nothing

End Sub

'------------打开EXCEL
Private Sub Command1_Click()
Set ex = CreateObject("Excel.Application")
Set wb = ex.Workbooks.Add
'Set wb = ex.Workbooks.Open("c:\1.xls") '打开你的EXCEL文件
Set sh = wb.Sheets(1) '指定工作表sheets1
sh.Cells(1, 1) = "A" '写入A到第一行第一列 返之写出
sh.Cells(1, 2) = "B"
sh.Cells(2, 1) = "C"
sh.Cells(50, 2) = "D"
wb.Close SaveChanges:=True '关闭文件后,直接保存不提问
ex.Quit
Set ex = Nothing
Set wb = Nothing
Set sh = Nothing
MsgBox "数据已写入"
'ex.Visible = True
End Sub
max_shell 2009-05-07
  • 打赏
  • 举报
回复
灌水~
嗷嗷叫的老马 2009-04-14
  • 打赏
  • 举报
回复
顶顶,路过.
冰火小猫 2009-04-14
  • 打赏
  • 举报
回复
顶顶,路过.
白发程序猿 2009-04-14
  • 打赏
  • 举报
回复
你可以引用OWC来实现这个功能
chengshq 2009-04-14
  • 打赏
  • 举报
回复
private sub command1_click()
dim xlsApp as object
dim xlsBook as object
set xlsApp=CreateObject("Excel.Application")
set xlsBook=xlsApp.workbooks.Add
xlsBook.Application.Visible=true

'释放
set xlsBook=nothing
set xlsApp=nothing
end sub
LWMWORK 2009-04-14
  • 打赏
  • 举报
回复
DsoFramer

http://download.csdn.net/source/471487

据说支持office2007

我只在2000 2003下用过,就一句,很方便

显示:oFramer.ShowDialog dsoDialogOpen
打印:oFramer.PrintOut 1
oyljerry 2009-04-13
  • 打赏
  • 举报
回复
用Office的Automatoin自动化方式读取word,excel等
CreateObject(Word.Application)
goosen 2009-04-13
  • 打赏
  • 举报
回复
Private Sub Command1_Click()   '''打开WORD
Dim wdapp As Object
Dim wddoc As Object
Dim wdtab As Object
Set wdapp = CreateObject("Word.Application")
Set wddoc = wdapp.Documents.Open("c:\1.doc") '打开WORD



wddoc.Save '保存
wddoc.Close '关闭文档
wdapp.Quit '关闭WORD
Set wddoc = Nothing
Set wdapp = Nothing

End Sub

'------------打开EXCEL
Private Sub Command1_Click()
Set ex = CreateObject("Excel.Application")
Set wb = ex.Workbooks.Add
'Set wb = ex.Workbooks.Open("c:\1.xls") '打开你的EXCEL文件
Set sh = wb.Sheets(1) '指定工作表sheets1
sh.Cells(1, 1) = "A" '写入A到第一行第一列 返之写出
sh.Cells(1, 2) = "B"
sh.Cells(2, 1) = "C"
sh.Cells(50, 2) = "D"
wb.Close SaveChanges:=True '关闭文件后,直接保存不提问
ex.Quit
Set ex = Nothing
Set wb = Nothing
Set sh = Nothing
MsgBox "数据已写入"
'ex.Visible = True
End Sub


7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧