![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
vba
文章平均质量分 53
qq_24499417
这个作者很懒,什么都没留下…
展开
-
VBA如何获取电脑操作系统的时区
#If Win64 Then Private Declare PtrSafe Sub GetTimeZoneInformation Lib "kernel32" (lpTimeZoneInformation As TIME_ZONE_INFORMATION) Private Declare PtrSafe Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)#Else Private Declare Sub G.原创 2020-06-12 12:30:55 · 465 阅读 · 1 评论 -
VBA使用webdriver
整理了下vbexcelhome之前分享的一个vb的webdriver类。看了一下webdriver 是怎么运行的一文。添加了一些东西。先放出来。以后有空或问题再整.附件是用微软的edge chrome作为例子。你可以去类模块里面修改引用谷歌的webdriver.1.下载和浏览器版本号一直一致的webdriver.网站:https://msedgewebdriverstorage.z22.web....原创 2020-04-18 17:52:14 · 2594 阅读 · 0 评论 -
创建后期绑定的comserver
有自动提示的参考https://blog.csdn.net/qq_24499417/article/details/105079648。后期绑定简单不少。主要设置com的classinterface位autodispatch.也就是接口的后期绑定。另外需要加上progid,基本步骤与上一篇一样的。后期绑定没有自动提示,就不需要用到dll文件和导出类型库。需要在配置文件里添加ComServer=...原创 2020-03-25 09:53:05 · 221 阅读 · 0 评论 -
浅谈64位excel里面怎么调用32位的dll/OCX
大家应该遇到过64位office在vba里无法调用32位dll的问题。最近看到别人碰到了类似的问题。我就来啰嗦几句。软公司的官方网站针对这个问题描述如下:在64位的windows系统中,一个64位进程不能加载一个32位dll,同理一个32位进程也不能加载一个64位dll。但是,64位windows支持64位和32位进程(包括本机或跨机)间进程间通信(RPC)。在64位windows中,一个...原创 2020-03-10 12:27:40 · 4493 阅读 · 1 评论 -
VBA判断win操作系统是32位还是64位
利用API函数GetSystemWow64Directory看系统中是否存在SysWow64目录从而得到系统位数。在64位系统中,该函数返回SysWow64目录的路径字符串长度值。在32位系统中返回值为0.代码:#If VBA7 Then Private Declare PtrSafe Function GetSystemWow64Directory Lib "Kernel32....原创 2019-08-17 18:18:30 · 2295 阅读 · 0 评论 -
vba里调用.net程序集
利用powershell调用.net程序集来实现。下面两个简单的例子,只是展示怎么去使用,并不一定是最佳方案。希望对大家有所助益吧。示例一:查找字符串A123B76A45里面A后面的数字.我们vbs里面regex不支持肯定向前预查。借用.net实现:Sub ss1()Dim ws As Object '正则肯定向前预查Set ws = CreateObject("wscript.she...原创 2019-03-20 11:09:04 · 1185 阅读 · 0 评论 -
VBA识别文件是否为常见的图片格式。
用于识别部分图片的真实格式(几种主流的图片格式) .如若是比较罕见的图片格式,也会被认为是unknown:Const wiaFormatBMP = "{B96B3CAB-0728-11D3-9D7B-0000F81EF32E}"Const wiaFormatPNG = "{B96B3CAF-0728-11D3-9D7B-0000F81EF32E}"Const wiaFormatGIF =...原创 2019-01-09 19:01:32 · 2078 阅读 · 0 评论 -
VBA全排列组合输出
全排列:简单讲是从N个不同元素中取出M个,按照一定顺序排成一列,通常用A(N,M)表示。当M=N时,称为全排列.下例展示了展示了{1,"a",3,"c"}这4个数全排列。总的排列数为A(4,4)=4!=24种。输出代码如下:Dim N '用于增加动态数组下标Sub perm(arr, k, m, brr()) '全排列'arr为需要全排列的数组。k为数组下标,m为上标,brr...原创 2019-01-05 16:59:15 · 7802 阅读 · 1 评论 -
vba里使用python自定义函数
今晚在excelhome论坛边想边写了2小时,在自己博客里也做一份记录吧。今天讲一下怎么在vba里面使用python的自定义函数。在vba板块提下python主要是python的包很多。对于我们来说,直接拿轮子过来用用肯定是很好的事情,复杂的原理,背后的算法与我无关。沟通python和excel主要是通过一个名为xlwings的加载项作为连接的纽带,从而实现互通。下面主要写以下几点:1.如何搭...原创 2018-12-21 22:49:51 · 3064 阅读 · 2 评论 -
VBA解压压缩文件。
VBA解压压缩文件调用的是WinRAR的命令。我们可以参考WinRAR帮助。解压文件的命令以及例子如下图:vba里面使用shell运行命令。代码很简单如下:Sub jieya()Shell "D:\Program Files\WinRAR\WinRAR.exe X-Y C:\Users\FanXiaoLei\Desktop\京客隆销售数据.rar C:\Users\FanXi...原创 2018-08-20 22:14:52 · 5838 阅读 · 0 评论 -
vba登陆网站并翻页获取网页数据
今天展示的是登陆网站病获取多页数据。网站是:http://fdm.yyjzt.com/search/merchandise.htm?keyword&category&page=1、这个页面登陆和未登录时候的的显示数据是不一样的。未登录的时候显示的是公开数据。登陆以后显示的是个人购物私人数据。由于使用的是别人公司的用户名和密码,我在这里就不会显示出post的数据。利用x...原创 2018-08-08 12:07:56 · 16672 阅读 · 1 评论 -
vba取得当前元素的值
如下图我要取得当前元素a的值67896.由于这个网页不是很标准..值没有包含在元素里,无法直接取到。当然要是用正则或者split这种肯定是能解决的。 我这里只是学习下jquery的解法。StrText="<a><span>123</span>67896<span>876</span></a>"1.我先是用了$('原创 2018-08-07 21:13:55 · 1291 阅读 · 0 评论 -
scriptcontrol处理翻页问题。
示例展示通过VBA获取页面http://stock.n8n8.cn/flows?zjlx=110,总共63页数据。我仅展示抓取2页数据。通过浏览器的开发工具获得数据源的页面地址为下图中的Request URL:通过鼠标翻页多次网址比较我们会发现url里面的begin参数就是控制页面的。0表示第1页,依次递增。r是一个随机数。我们可以通过rnd()函数生成。翻页通过循环修改url中的begin参...原创 2018-07-29 08:19:54 · 534 阅读 · 0 评论 -
vba操作ie关闭窗口
现在我们一般的默认浏览器都不是IE,所以一般在vba操作IE使用microsoft Internet controls里面的IE.quit没什么用。下面使用js关闭IE,我试了下,可行的。顺便做下记录。。Sub x()Dim ie As ObjectSet ie = CreateObject("internetexplorer.application")With ie.navigat...原创 2018-07-19 20:56:12 · 4510 阅读 · 2 评论