VB是是一种编程语言。VBA主要VB是office上的应用,VB.net可以说是VB的最新版本,如果就是业余或者刚入门的话,语法什么的和VB几乎完全一样。只是语法上面,要求比VB要求规范,比方说VB6.0里面Text1="1"读的出来,VB.net就会报错,一定要textbox1.text="1"才可以。对于初学者来说,VB.net这种规范要求有益无害。
创新互联公司主要从事成都网站建设、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务鄂城,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
如果你想学的话,最好学VB.net,一来功能强,二来,能帮助你学习基本概念。比方说我学VB的时候,什么是类一点概念都没有。都是学了.net之后才懂得。三来么,学会了VB.net.学其他都很方便的。
但是如果就是用用excel的话么,VBA就可以了。不过说句老实话,光学VBA的话,很多东西理解起来比较难。我是最后学VBA的,看了书一个礼拜之后就能随便编了。但是书上很多代码的,我猜如果没有VB基础,估计看不懂
swApp.ActiveDoc是什么东西?word的吗?
如果是ord的东西,那么将set去掉就可以了,其他的不需要做任何更改。
不知道你是指EXCEL还是WORD,下面是EXCEL
首先通过VB的菜单[工程] -- [引用],勾选:Microsoft Excel 11.0 Object Library
其中11.0是不一定的,要看你计算机安装的OFFICE版本而定
11.0是2003,
这样就可以在VB里使用对象了:
Dim xlsApp As Excel.Application '声明Excel对象变量
Dim xlsBook As Excel.Workbook '声明工作簿对象变量
Dim xlsSheet As Excel.Worksheet '声明工作表对象变量
Set xlsApp = CreateObject("Excel.Application") '创建EXCEL对象实例
xlsApp.Visible = False '设置EXCEL对象不可见(或True为可见)
Set xlsBook = xlsApp.Workbooks.Open("C:\实验1.xls") '打开已经存在的工作簿EXCEL文件
Set xlsSheet = xlsBook.Worksheets("Sheet1") '设置工作表对象为工作簿中的表“Sheet1”
'''''''''''''''''''''''''''''''''''''''''''''
这里是你的具体操作,类似宏
'''''''''''''''''''''''''''''''''''''''''''''
xlsBook.Close (True) '关闭工作簿并保存所做的修改 (False)则放弃修改,将会提问
xlsApp.Quit '关闭EXCEL对象
Set xlsApp = Nothing '释放xlApp对象
对 Range 对象做 Copy 方法,要注意 Range 要连续的、成矩形选择的。
例如像:A1:C5 可以复制,
例如像:A1:C5, A10:C15 就不能复制。
还要注意一点:对 Range 对象进行操作的话,所在工作表先要激活。
someRange.Worksheet.Activate
如果还有问题的话,可以把对 Excel 操作的代码提取到 Excel VBA 环境下调试好了再移植回去。
Public Function DrawDot(ByVal x1 As Double, ByVal y1 As Double, Optional ByVal r As Double = 1) As Object
Dim oWord As Word.Application
Dim TempX As Double
Dim TempY As Double
Dim TempR As Double
TempX = Ox + (x1 * 10)
TempY = Oy - (y1 * 10)
TempR = r * 10
DialogDisplay = False
If (TempX - TempR Ox - Lx / 2) Or (TempX + TempR Ox + Lx / 2) Or (TempY - TempR Oy - Ly / 2) Or (TempY + TempR Oy + Ly / 2) Then
DialogDisplay = True
MsgBox("超出了边界!", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly, "提示")
DrawFlag = False
DrawDot = Nothing
Exit Function
End If
DrawDot = oWord.ActiveDocument.Shapes.AddShape(9, TempX - TempR, TempY - TempR, 2 * TempR, 2 * TempR)
DrawFlag = True
End Function