VB对Word的操作

leojeff 2003-05-06 10:27:04
请教一下
VB如何对word进行操作。
回答一定给分。。。谢谢
...全文
47 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cy_nwau 2003-05-12
  • 打赏
  • 举报
回复
我给你记下了,正在研究中。cy_nwau@163.com
Private Sub Command1_Click()
Dim oWord As Object
Dim oDoc As Object
Dim oRange As Object
Dim oConn As Object
Dim oRS As Object
Dim sTemp As String, i%
Set oWord = CreateObject("Word.Application")
oWord.Visible = True
Set oDoc = oWord.Documents.Add
Set oRange = oDoc.Range
Set oConn = CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\房产管理系统\房产信息.mdb;Persist Security Info=False"
Set oRS = oConn.Execute("SELECT * FROM 楼房情况表")
Do Until oRS.EOF
For i = 0 To oRS.Fields.Count - 2
sTemp = sTemp & oRS.Fields(i).Value & ","
Next i
sTemp = sTemp & oRS.Fields(i).Value & vbCrLf
oRS.moveNext
Loop
oRange.Text = sTemp
oRange.ConvertToTable ",", , , , 1, , , , , , , , , True
End Sub
cy_nwau 2003-05-12
  • 打赏
  • 举报
回复
学习!
leojeff 2003-05-08
  • 打赏
  • 举报
回复
up....希望有人能帮助我。。谢谢
xysophie 2003-05-08
  • 打赏
  • 举报
回复
up
leojeff 2003-05-07
  • 打赏
  • 举报
回复
leo_jeff@sina.com


hi128(斯文) 能尽快给我发过来吗?谢了!

对所有关注和回复这个问题的同志们表示感谢!
hi128 2003-05-07
  • 打赏
  • 举报
回复
你要源码吗,留下EMAIL.
或MSN
myhotsun 2003-05-07
  • 打赏
  • 举报
回复
不用这么麻烦,你可以先打开WORD,然后选择工具-宏-录制新宏菜单,这是你在 WORD执行的操作就会自动录制为宏代码,等录制结束后,点击停止录制按钮!这时你选择工具-宏-VISUAL BASIC编辑器就可以看到对应的宏代码,复制到VB代码中就可以使用了!当然首先你需要在VB中通过代码建立一个WORD对象,并打开这个对象才可以!至于如何建立word对象,楼上的回复中已经有了!
leojeff 2003-05-07
  • 打赏
  • 举报
回复
最好能给出一个详细的例子。
leojeff 2003-05-07
  • 打赏
  • 举报
回复
to myhotsun(科科)

由于每次进行的操作是不定的。所以无法用宏命令完成。
还有好的办法和想法吗?说出来大家一起交流一下。

谢谢!
leojeff 2003-05-07
  • 打赏
  • 举报
回复
谢谢你!

我现在还有问题。如果我需要在word中插入表格,并且把从数据库中读出来的数据填入到表格相应的位置。我应该怎么做?望赐教。

下边是我在网上找的一个读数据并填表的一段程序。希望大家能讨论一下,不仅仅局限在这个问题上,这样大家都可以从别人那里学到一些好的东西。再次感谢大家对本贴的关注。

Private Sub Command1_Click()
' Declare our variables
Dim oWord As Word.Application
Dim oDoc As Word.Document
Dim oRange As Word.Range
Dim oConn As ADODB.Connection
Dim oRS As ADODB.Recordset
Dim sTemp As String

' Create an instance of Word
Set oWord = CreateObject("Word.Application")
' Show Word to the user
oWord.Visible = True

' Add a new, blank document
'Set oDoc = oWord.Documents.Add("d:\Remark.doc")

Set oDoc = oWord.Documents.Add

'Set oDoc = oWord.Documents.Open

' Get the current document's range object
Set oRange = oDoc.Range

' Create a new ADO connection
Set oConn = CreateObject("ADODB.Connection")
' Open our connect

'oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
sFileName & ";Persist Security Info=False"

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Report\property.mdb;Persist Security Info=False"


Set oRS = oConn.Execute( _
"SELECT e_id, d_disk, d_cpu ,d_memory FROM dispose order by e_id")



'Set oRS = CreateObject("ADODB.Recordset")
'strSQL = "SELECT e_id, d_disk, d_cpu FROM dispose"

'Set oRS = CreateObject("ADODB.Recordset")
'oRS.Open strSQL, oConn



' Execute a SQL statement to retrieve the information
'Set oRS = oConn.Execute( _
"SELECT CustomerID, CompanyName, ContactName FROM Customers")




' Use GetString to return the recordset as a string
sTemp = oRS.GetString(adClipString, -1, vbTab)

' Insert a heading on the string
sTemp = "Customer ID" & vbTab & _
"Company Name" & vbTab & _
"Contact Name" & vbTab & _
"A" & vbCrLf & sTemp

' Insert the data into the Word document
'oRange.Borders.OutsideColor = wdColorBlack
oRange.Text = sTemp

' Convert the text to a table and format the table
oRange.ConvertToTable vbTab, , , , wdTableFormatSubtle1
End Sub
hi128 2003-05-07
  • 打赏
  • 举报
回复
已发给你了,请查收。
leojeff 2003-05-07
  • 打赏
  • 举报
回复
可能我由于着急,上边没有说清楚。

我的目的是:在vb中做一个类。通过这个类的对象对word进行操作。
也就是说,这个类提供全部的word中有的功能,比如作表格,输入,排版等等。
这些功能是通过这个类的一些方法实现的。

现在我最困难的是不知道建立一个word.application的对象以后,不知道这个对象具体有哪些属性可以让我用。

再次谢谢大家对本贴的关注。。。期待回复。。谢谢
hi128 2003-05-06
  • 打赏
  • 举报
回复
Option Explicit

'Create an empty class to reference the Word Object
Dim w1 As Word.Application

Private Sub cmdAddDocument_Click()

'Create a new document
w1.Documents.Add

End Sub

Private Sub cmdAddText_Click()

'Test to see if there is a document open
If w1.Documents.Count < 1 Then
MsgBox "No documents open"
Exit Sub
End If

'Set the font size
w1.Selection.Font.Size = txtSize.Text

'Set the font weight etc.
w1.Selection.Font.Bold = IIf(chkBold.Value = 1, True, False)
w1.Selection.Font.Italic = IIf(chkItalic.Value = 1, True, False)
w1.Selection.Font.Underline = IIf(chkUnderline.Value = 1, True, False)

'Set the alignment
w1.Selection.ParagraphFormat.Alignment = drpJustification.ListIndex

'Type the text
w1.Selection.TypeText txtTypeText.Text

End Sub

Private Sub cmdPrint_Click()

'Print out
w1.ActiveDocument.PrintOut

End Sub

Private Sub Form_Load()

'Create a new instance of word
Set w1 = New Word.Application

'Initialize Word as visible
Option1_Click 0

'Make the default value the first in the list
drpJustification.Text = drpJustification.List(0)

End Sub

Private Sub Form_Terminate()

'Close the Word application (not saving changes)
w1.Quit False
Set w1 = Nothing

End Sub

Private Sub Option1_Click(Index As Integer)

'Make word invisible / visible
w1.Visible = IIf(Index = 0, True, False)

End Sub

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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