VB自动填写网页表格的程序
vb.net开发中使用excel插件的代码

⽤做excel插件开发,可能需要为excel添加⾃定义的⼯具栏。
这个也是⾮常的简单的。
以下是引⽤⽚段: Public Class ConnectClass Connect Implements Extensibility.IDTExtensibility2 Dim app As Excel.Application Dim wb As Excel.Workbook Dim ws As Excel.Worksheet Dim addInInstance As Object Dim pasteText As mandBarButton ‘定义⼀个⼯具栏按钮 Public Sub OnBeginShutdown()Sub OnBeginShutdown(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnBeginShutdown End Sub Public Sub OnAddInsUpdate()Sub OnAddInsUpdate(ByRef custom As System.Array) ImplementsExtensibility.IDTExtensibility2.OnAddInsUpdate End Sub Public Sub OnStartupComplete()Sub OnStartupComplete(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnStartupComplete End Sub Public Sub OnDisconnection()Sub OnDisconnection(ByVal RemoveMode As Extensibility.ext_DisconnectMode, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnDisconnection End Sub Public Sub OnConnection()Sub OnConnection(ByVal application As Object, ByVal connectMode As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnConnection If TypeOf (application) Is Excel.Application Then app = CType(application, Excel.Application) addInInstance = addInInst wb = app.ActiveWorkbook ws = CType(wb.ActiveSheet, Excel.Worksheet) Dim toolbar As mandBar = Nothing If Not app Is Nothing Then toolbar = AddToolbar(app, "专⽤⼯具栏") ’添加⼯具栏 End If ’ 建⽴按钮添加⽂本 pasteText = MakeANewButton(toolbar, "Insert text", 1044, AddressOf pasteText_Click) ’添加⼯具栏按钮并帮定事件 End Sub ’添加⼯具栏 Private Function AddToolbar()Function AddToolbar(ByVal ex As Excel.Application, _ ByVal toolbarName As String) As mandBar Dim toolBar As mandBar = Nothing Try ’ 为add-in建⽴⼀个命令条 toolBar = CType(mandBars.Add(toolbarName, Microsoft.Office.Core.MsoBarPosition.msoBarTop, , True),。
VB制作网页自动填表(强烈推荐)

VB制作网页自动填表(强烈推荐)VB制作简单模拟器教程入门版第一讲如何用VB编程打开一个网页:由于是为做模拟器做铺垫,所以就不介绍别的方法,只介绍一种最简单的用webbrowser控件实现(实际是其他的方法我还没有学会)。
下面我们就开始步入模拟器的大门了:一、先打开VB新建一个工程二、在工具条上点右键选部件(我用的是中文版VB)或者选工程菜单,点部件三、找到Microsoft Internet Controls,在前面打挑,然后确认就可以看到在工具条上多出来一个地球样的图标,我们以后的实现就都围绕着他来进行了。
四、添加一个WebBrowser1到Form1中,再添加一个command1到Form1中五、在Form1中添加如下代码:'----------开始-----------Private Sub Command1_Click()WebBrowser1.Navigate " "End SubPrivate Sub Form_Load()WebBrowser1.Navigate " <A href= ' "/ ' target=_blank> [url][/url] ";End Sub'----------结束-----------六、当然就是测试了,点运行按钮,我们可以看到,我们的webbrowser打开了网络人家的主页,然后再点按钮,我们可爱的webbrowser就把我们带到了模拟之家BBS了。
好了,先写这么多,下次我们看一下怎么用webbrowser提交一个含有用户名和密码的网页。
VB制作简单模拟器教程入门版(二)第二讲如何用VB的webbrowser提交一个含有用户名和密码的网页上次我们知道了怎样打开一个网页,今天我们就来看看怎样迈开赚钱的第一步。
下面我们就开始迈步了:一、先打开VB新建一个工程二、在工具条上点右键选部件(我用的是中文版VB)或者选工程菜单,点部件三、找到Microsoft Internet Controls,在前面打挑,然后确认就可以看到在工具条上多出来一个地球样的图标,我们以后的实现就都围绕着他来进行了。
vb操作excel的常见方法

2.使用对象变量。
如果你发现一个对象引用被多次使用,则你可以将此对象用Set 设置为对象变量,以减少 对对象的访问。如: Workbooks(1).Sheets(1).Range(″A1″).Value = 100 Workbooks(1).Sheets(1).Range(″A2″).Value = 200 则以下代码比上面的要快: Set MySheet = Workbooks(1).Sheets(1) MySheet.Range(″A1″).Value = 100 MySheet.Range(″A使用定时器
如用何过在EExxcceell里97使里用的定加时载器宏 "定时保存" 吗?可惜它的源程序是加密的,现在就上传一篇介绍实 现在它O的ffic文e 档里。有个方法是 application.ontime ,具体函数如下: expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule) 如这果个想函进数一是步用了来解安,排请一参个阅过程Ex在ce将l 的来帮的助特。定时间运行,(可为某个日期的指定时间,也可为 指定的时间段之后)。通过这个函数我们就可以在 Excel 里编写自己的定时程序了。下面就举 两1.在个下例午子来17说:00明:0它0 的。时候显示一个对话框。 Sub Run_it() Application.OnTime TimeValue("17:00:00"), "Show_my_msg" '设置定时器在 17:00:00 激活,激活后运行 Show_my_msg 。 End Sub Sub Show_my_msg() msg = MsgBox("现在是 17:00:00 !", vbInformation, "自定义信息") End Sub 2.模仿 Excel 97 里的 "自动保存宏",在这里定时 5 秒出现一次 Sub auto_open() MsgBox "欢迎你,在这篇文档里,每 5 秒出现一次保存的提示!", vbInformation, "请注意!" Call runtimer '打开文档时自动运行 End Sub Sub runtimer() Application.OnTime Now + TimeValue("00:00:05"), "saveit" ' Now + TimeValue("00:15:00") 指定在当前时间过 5 秒钟开始运行 Saveit 这个过程。 End Sub Sub SaveIt() msg = MsgBox("朋友,你已经工作很久了,现在就存盘吗?" & Chr(13) _ & "选择是:立刻存盘" & Chr(13) _ & "选择否:暂不存盘" & Chr(13) _ & "选择取消:不再出现这个提示", vbYesNoCancel + 64, "休息一会吧!") '提示用户保存当前活动文档。
VB实现类电子表格grid的数据录入

VB实现类电子表格grid的数据录入---- 在编程中经常会遇到应用程序中要输入大量数据的问题,如果能在该程序中实现象电子表格那样的输入界面,就可以解决这个问题。
---- VB 虽提供了Grid 网格控件,但其只具有显示输出功能,要使其能接受输入数据,必须对它加以改造,在计算机报刊中的许多文章都对此进行了探讨,但所用方法都不能令人满意,笔者经过摸索,找出以下办法,供有兴趣者参考。
---- 首先在VB 5.0 环境下Form1 中放上如图1 所示的各控件:Text1;Grid1;Command1;Command2;Vscroll1;Hscroll1。
图1 Form1 及其控件---- 双击Form1 打开Code 窗口,编制程序代码。
Dim inputcolnum, inputrownum As IntegerPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Activate()Text1.SetFocus ' 文本框获得焦点End SubPrivate Sub Form_Load()Grid1.ColWidth(0) = 540Grid1.RowH eight(0) = 216 '单元格的宽和高inputcolnum = 13inputrownum = 15 '表中显示的列、行数Grid1.Cols = 20Grid1.Rows = 20 '表中总的列、行数HScroll1.Height = 300VScroll1.Width = 300 '水平和垂直滚动条的高、宽度Grid1.Height = (inputrownum + 1) '(Grid1.RowHeight(0) + Grid1.GridLineWidth * 12) + 12 + HScroll1.Height'800×600象素时为12;640×480为15Grid1.Width = (inputcolnum + 1) *(Grid1.ColWidth(0) + Grid1.GridLineWidth * 12) + 12 + VScroll1.Width'表的高、宽度HScroll1.Width = Grid1.Width - VScroll1.Width VScroll1.Height = Grid1.Height - HScroll1.Height ' 水平和垂直滚动条的宽、高度HScroll1.Left = Grid1.LeftHScroll1.Top = Grid1.Top + Grid1.Height - HScroll1.Height ' 水平滚动条的位置VScroll1.Left = Grid1.Left + Grid1.Width - VScroll1.Width VScroll1.Top = Grid1.Top' 垂直滚动条的位置HScroll1.Min = 1HScroll1.Max = Grid1.Cols - inputcolnumVScroll1.Min = 1VScroll1.Max = Grid1.Rows - inputrownum' 水平和垂直滚动条的范围Text1.Width = Grid1.ColWidth(0)Text1.Height = Grid1.RowHeight(0)' 文本框的宽、高度Text1.Left = Grid1.Left + Grid1.ColWidth(0)+ Grid1.GridLineWidth * 12Text1.Top = Grid1.Top + Grid1.RowHeight(0)+ Grid1.GridLineWidth * 12' 文本框的位置' 初始化赋值Text1.Visible = TrueFor I = 1 To Grid1.Cols - 1Grid1.Col = IGrid1.Row = 0Grid1.Text = Str(I)Grid1.Col = 0Grid1.Row = IGrid1.Text = Str(I)Next IGrid1.Col = 1Grid1.Row = 1 ' 网格的列、行初始位置Grid1.SelStartCol = 1Grid1.SelStartRow = 1 '网格中单元格的列、行初始位置Grid1.LeftCol = 1Grid1.TopRow = 1 '网格中左上角的列、行初始位置End SubPrivate Sub Grid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Grid1.Col = Grid1.SelStartColGrid1.Row = Grid1.SelStartRowText1.Text = Grid1.Textcolnum = Grid1.Col - Grid1.LeftCol + 1rownum = Grid1.Row - Grid1.TopRow + 1Text1.Left = Grid1.Left + (Grid1.ColWidth(0)+ Grid1.GridLineWidth * 12) * colnumText1.Top = Grid1.Top + (Grid1.RowHeight(0)+ Grid1.GridLineWidth * 12) * rownumEnd SubPrivate Sub Grid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.SetFocusEnd SubPrivate Sub HScroll1_Change()startcol = Grid1.LeftColGrid1.LeftCol = HScroll1.ValueGrid1.SelStartCol = Grid1.SelStartCol+ Grid1.LeftCol - startcolGrid1.Col = Grid1.SelStartColText1.Text = Grid1.TextEnd SubPrivate Sub Text1_Change()Grid1.Text = Text1.TextEnd SubPrivate Sub Text1_KeyDown(KeyCodeAs Integer, Shift As Integer)Select Case KeyCodeCase 38 ' 光标向上Grid1.Text = Text1.TextIf Grid1.SelStartRow < 2 ThenIf Grid1.TopRow > 1 ThenVScroll1.Value = VScroll1.Value - 1ElseGrid1.SelStartRow = 1End IfElseIf Grid1.TopRow = Grid1.SelStartRow Then VScroll1.Value = VScroll1.Value - 1ElseGrid1.SelStartRow = Grid1.SelStartRow - 1End IfEnd IfGrid1.Col = Grid1.SelStartColGrid1.Row = Grid1.SelStartRowcolnum = Grid1.Col - Grid1.LeftCol + 1rownum = Grid1.Row - Grid1.TopRow + 1Text1.Text = Grid1.TextText1.Left = Grid1.Left + (Grid1.ColWidth(0)+ Grid1.GridLineWidth * 12) * colnumText1.Top = Grid1.Top + (Grid1.RowHeight(0)+ Grid1.GridLineWidth * 12) * rownumExit SubCase 40 ' 光标向下Grid1.Text = Text1.TextIf Grid1.SelStartRow > inputrownum - 1 ThenIf Grid1.TopRow < Grid1.Rows - inputrownum Then VScroll1.Value = VScroll1.Value + 1ElseIf VScroll1.Value = VScroll1.Max AndGrid1.SelStartRow < Grid1.Rows - 1 ThenGrid1.SelStartRow = Grid1.SelStartRow + 1ElseGrid1.SelStartRow = Grid1.Rows - 1End IfEnd IfElseIf Grid1.TopRow = Grid1.SelStartRow - inputrownum Then VScroll1.Value = VScroll1.Value + 1ElseGrid1.SelStartRow = Grid1.SelStartRow + 1End IfEnd IfGrid1.Col = Grid1.SelStartColGrid1.Row = Grid1.SelStartRowcolnum = Grid1.Col - Grid1.LeftCol + 1rownum = Grid1.Row - Grid1.TopRow + 1Text1.Text = Grid1.TextText1.Left = Grid1.Left + (Grid1.ColWidth(0)+ Grid1.GridLineWidth * 12) * colnumText1.Top = Grid1.Top + (Grid1.RowHeight(0)+ Grid1.GridLineWidth * 12) * rownumExit Sub。
VB 利用键盘模拟进行自动录入操作(完整模块代码)

Private Const VK_F5 = &H74
Private Const VK_F6 = &H75
Private Const VK_F7 = &H76
Private Const VK_F8 = &H77
Private Const VK_F9 = &H78
Private Const VK_NUMPAD1 = &H61
Private Const VK_NUMPAD2 = &H62
Private Const VK_NUMPAD3 = &H63
Private Const VK_NUMPAD4 = &H64
Private Const VK_NUMPAD5 = &
'▼插入消息队列。
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const VK_RSHIFT = &HA1
Private Const VK_SCROLL = &H91
Private Const VK_SELECT = &H29
Private Const VK_SEPARATOR = &H6C
Private Const VK_SHIFT = &H10
VB关于webbrowser相关操作大全

23、 页面元素操作------------------------------------------------------------------------------- 15
回Microsoft Word Document
Left 返回或设置WebBrowser控件窗口的内部左边与容器窗口左边的距离
Top 返回或设置WebBrowser控件窗口的内部左边与容器窗口顶边的距离
Width 返回或设置WebBrowser窗口的宽度,以像素为单位
Height 返回或设置WebBrowser窗口的高度,以像素为单位
18、 选择网页上的内容------------------------------------------------------------------------- 12
19、 用IE来下载文件--------------------------------------------------------------------------- 13
2、 提取网页源码----------------------------------------------------------------------------------- 3
3、 防止新窗口里头打开网页--------------------------------------------------------------------- 4
属性 说明
Application 如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,这个程序将返回WebBrowser
VB网格中输入数据[推荐5篇]
![VB网格中输入数据[推荐5篇]](https://img.taocdn.com/s3/m/0f9ca21430126edb6f1aff00bed5b9f3f90f72eb.png)
VB网格中输入数据[推荐5篇]第一篇:VB网格中输入数据VB网格中输入数据VISUAL BASIC提供的网格控制(Grid)主要是用来直观地输出数据,但不能输入数据,使用起来很不方便。
能不能向网格中输入数据呢?笔者提出了两种解决方法,供大家参考:方法一:改写网格的KeyPress事件,在每次有合法字符输入时,把Grid 的Text项和输入字符连接。
这种方法缺点是:一代码较复杂,需要处理各种ASCII字符信息;二是通过编程只能实现很少的编辑功能,如用退格键删除前一字符,用Del键删除所有字符;三是这种方法不能输入汉字,使用起来受到很大的限制。
方法二:利用一文本框作为缓冲,实现编辑功能。
当网格改变行列时,把网格当前行列的内容传递给文本框;当网格中有ASCII字符产生时,把输入焦点设置为文本框,并把输入的ASCII字符送给文本框;当编辑完文本框的内容时,按Enter键或TAB键,把文本框的内容送给网格的当前行列,并把输入焦点设置为网格。
如下程序所示(其中Textl 为文本框,Labell为标签,Gridl为网格):Option ExplicitConst EnterAsc=13Const TabAsc=9Private Sub Form-Load()Labell.Caption=”请输入”End SubPrivate Sub Gridl-KeyPress (KeyAscii As Integer)Text1.StFocusTextl.SelStart=0If KeyAscii<>EnterAsc And KeyAscii<>TabAsc ThenSendKeys Chr(KeyAscii)End IFEnd SubPrivate Sub Gridl-RowColChange()Textl.Text=Grid1.TextEnd SubPrivate Sub Text1-KeyPress (KeyAscii As Integer)If KeyAscii=EnterAsc ThenGrid1.SetFocusKeyAscii=0End IfEnd SubPrivate Sub Text1-LostFocus()Grid1.Text=Text1.TextEnd Sub第二篇:SAS数据输入总结SAS学习总结一、SAS的数据录入(1)直接输入data first;input name $ salary;datalines;a 12b 34c 56d 78;run;注意:datalines的位置以及数据录入后的分号(2)借助infile可读入文本格式为dat、txt、csvA.最简单的形式data first;infile 'c:userslichaodesktopsasdatatoadjump.dat';input Toadname $ Jump1 Jump2 Jump3 Jump4;run;proc print data=work.first;run;B.有空格的情况,需要数一下data second;infile 'c:userslichaodesktopsasdataonionring.dat';input Name $ 1-19 Jump1 22-24 Jump2 25-28 Jump3 30-31 Jump4 33-34 Jump5 37 Jump6 40;run;proc print data=work.second;run;C.格式重复的情况data third;infile 'c:userslichaodesktopsasdataexercise.dat';input Num1 Num2 Num3 @@;run;proc print data=work.third;run;注意:@@的用法D.其他的格式Ⅰ.输出特定的行data icecream;infile 'c:userslichaodesktopsasdataicecreamsales2.dat' firstobs=3 obs=5;input Flavor $ 1-9 Location Boxessold;run;proc print data=icecream;run;注意:firstobs和obs的位置不要改变,而且两者可以单独使用Ⅱ.有缺失值data class;infile 'c:userslichaodesktopsasdataallscores.dat' missover;run;proc print data=class;run;注意:在有缺失值的情况下,如果输出有错误的话就用missover Ⅲ.非正常的输入:data third;infile 'c:userslichaodesktopsasdatapumpkin.dat';input Name $16.num 3.type $2.date $11.(num1 num2 num3 num4 num5)(4.1);run;proc print data=third;run;注意:16.和3.、4.1等的表示方法,都是表示宽度,相比较数列数的方法更有效;输入格式相同的话可以加括号把格式写在后面的括号里。
利用VBA实现表格的自动填写

得 到 学 生 人 数
1.2 判 断教 学工作 手册 Word模版 中所 需要 的表 格 张数
工作 手册 中的一 页表格 只能 填写 24名 学生 情 况 ,利用 mod运算 判 断在 工 作 表 中填 写一 个 班级 的 情 况所需 要 的表格 的张数 。
If studentN u m od 24 < > 0 T hen
关 键 词 :VBA;Word;Excel;数 据 交 互
中 图 分 类 号 :TP311.5 文 献 标 识 码 :A
文 章 编 号 :1007—4260(2010)04—01l9—03
0 引 言
在工 作 中 ,需要 从 教学 管理 部 门提供 的学 生情 况 汇 总表 中遴 选 出所需 要 的学 生 名单 来 制 作 统一 模
工 作 表 中操 作 Word
文 档进 行工 作手 册 的
填 写 ,如 表 2。 利 用
VBA 语 言 , 用 由
Word对 象 模 型 所 提
供 的对 象 的方法 和属
性 来操 作 Word文 档 自动 完成 l2]。
1.1读 取 一 个 班 级 的 学 生 人 数
表 2 空 白的 工 作 手 册
V alue
studentZongshu — studentZongshu + 1
Loop 通过 循环 比较 汇总表 “g”列 中 的班 级名 称 的异 同来 判断一 个班 的人 数
studentZongshu — studentZ0ngshu + 1
studentNu — studentZongshu — studentNu
在 Excel汇 总 表 中 已 经 将 学 生 的 顺 序 按 班 级 排 列 ,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB自动填写网页表格的程序
VB自动填写网页表格的程序
--flyli
大家可能学VB都很久了不过却是没用VB干出什么有用的事情,今天我就来讲下如何用VB自动填写网页的表格
我们的试验网页就是/login.php
打开它你就知道它长什么样子了,然后我们查看下网页的源代码(方法:菜单-》查看-》源代码)
我们可以在其中找到这么一段
复制内容到剪贴板代码:
<input class="fm fm110" type="text" name="ee852ab" value="" maxlength="15"> <span class="e f7"></span>
</td></tr>
<tr><td><label>密码:</label>
<input class="fm fm110" type="password" name="ec3cfe6" value="" maxlength="20"> <span class="e f7"></span>
其中value的值也就是那两个输入框的值
我们还可以找到这么一段
复制内容到剪贴板代码:
<input type="image" value="login" border="0" name="s1" src="img/cn/b/l1.gif" width="80" height="20" ></input>
这个就是那个确定按钮的代码了
不懂html,不知道如何找到这些代码?这个就需要借助与Dreamweaver的可视化功能了,用它分析网页也挺方便的
然后就是VB了~
用VB添加个webbrowser控键进来尽量把它在窗体上画大点~,(不知道如何找到这个控键?那就得借助baidu了,我不可能面面具到哦~)
我们把webbrowser控键得name属性改为IE,当然也可以是你自己喜欢得哈,不过要和下面得程序配套
然后就是最关键得填表了
复制内容到剪贴板代码:
Private Sub Form_Load()
'初始化时打开该网页
IE.navigate "/login.php"
End Sub
找个2个command控键,分别为command1和command2控键,将其caption改为“输入”和“确定”
复制内容到剪贴板代码:
Private Sub command1_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = IE.document
For i = 0 To vDoc.All.length - 1 '检测所有标签
If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签
Set vTag = vDoc.All(i)
If vTag.Type = "text" Then
vTag.Value = "123456" '这个是输入到用户名中得值
End If
If vTag.Type = "password" Then
vTag.Value = "111222333"'这个是输入到密码框中的值
End If
If = "s1" Then
vTag.Click
End If
endif
next i
End sub
Private Sub command2_Click()
Dim vDoc, vTag
Dim i As Integer
Set vDoc = IE.document
For i = 0 To vDoc.All.length - 1 '检测所有标签
If UCase(vDoc.All(i).tagName) = "INPUT" Then '找到input标签
Set vTag = vDoc.All(i)
If = "s1" Then
vTag.Click'点击确定键
End If
endif
next i
End sub
然后运行程序,发现点击程序中的“输入”按钮后,需要输入的值会被自动填写到输入框中
点击程序中的“确定”按钮,相当于点击网页中的确定按钮的效果一样~
以上就是自动填表的基本原理了,但是对于某些加了验证图片的就要麻烦点了,要判断验证图片代表的字母,不过不在本文的讨论范围内哈~只要把上面的理解透彻了,那么给travian作个外挂就只是时间问题了,呵呵
呵呵,就写到这里了,晚了,再去游戏会~。