vba吧
关注: 16,944 贴子: 66,038

快乐学习 开心办公

  • 目录:
  • 程序设计及人工智能
  • 2
    帮网友写了几句代码,顺便分享一下 VBA代码来创建按钮控件并设置标题及字体 With sheets("Sheet1") With .OLEObjects.Add("Forms.CommandButton.1",,,,,,,40,60,40,24) .Name="cmdTest" With .Object .Caption="代码创建的控件名" .Font.Size=9 .ForeColor=vbBlue End With End With End With End With
  • 0
    VBA修改VBA代码-删除函数 Sub Function_delete() With ThisWorkbook.VBProject.VBComponents("Macroos").codemodule .DeleteLines .ProcStartLine("function2", 0), .ProcCountLines("function2", 0) End With End Sub
    tmtony 10-23
  • 2
    今天有个网友有2000多张照片要取图片标题及相关的尺寸出来,不想手工处理,就想到用VBA批量实现出来,分享一下代码。 获取图片的尺寸(如宽度或高度),那使用VBA如何来实现呢? 一、使用LoadPicture及GetObjectAPI来获取 Private Declare Function GetObjectAPI Lib "gdi32" Alias"GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObjectAs Any) As Long Private Type BITMAP bmType As Long bmWidth As Long bmHeight As Long bmWidthBytes As Long bmPlanes As Integer bmBitsPixel As Integer bmBits As Long End
    第IX夜 11-2
  • 4
    程序中,数据的输入与输出都需要验证是否有效。限制好数据的有效性有利于程序的稳定,准确。 一、输入与输出 在VBA中我们一般通过最简单的方式:利用Msgbox与InputBox函数来接受用户的输入 Msgbox:用户输入框 Msgbox它是有返回值的。它的语法如下所示: MsgBox(Prompt[,Buttons][,Title][,Helpfile,Context]) As Integer 这里用户的输入就是他选择的按钮,也就是Integer值所代表的选项。这里用户的选择比较简单,所以不用验证。 InputBox:全能型用户输入框 VBA内置的InputBox
  • 0
    个人经验分享下 一、完全相同的代码,在VB与VBA不同的表现 后台数据库是MySQL, 通过ODBC连接rs.open"season,key_id,classified,accessory,itemspec,itemcode,itemprocessname,itemname,itemunit,itemunitprice,itemunitqnty,itemtotalqnty,itemtotalcost,pmclassified,ctr,patt,dcr,qnty from worknoticeitem_02 where season='" & strSeason & "' and Key_id='" & strKeyId & "' order by season,key_id,mid;", mysqlconn, adOpenKeyset, adLockOptimistic 在VB6中之前正常,突然就读不到数据了 然后同样代码在Access中非常正常
    tmtony 10-21
  • 0
    在 Visual Basic中可以通过HWnd属性获取UserForms 的句柄,HWnd属性提供对窗体的窗口句柄的访问。 在使用与窗口相关的Windows API时,需要窗口句柄。 但是和 Visual Basic不同的是VBA UserForms不具有HWnd属性 以下例程可让您获取VBA UserForms窗口句柄。 GetUserFormHandle Private Type GUID Data1 As Long Data2 As Integer Data3 As Integer Data4(7) As Byte End Type Private Declare Function CoCreateGuid Lib "ole32.dll" (G As GUID) As Long Private Declare Function StringFromGUID2 Lib "ole32.dll" (G As GUID, _ ByVal str As S
    你牛算了 10-20
  • 0
    '*********************************************** '函数名:LoadFile '作用:利用ADODB.Stream读取模板文件 '参数:File:要读取的文件 'Author:Evller '*********************************************** Function LoadFile(ByVal File) Dim objStream On Error Resume Next Set objStream =Server.CreateObject("ADODB.Stream") If Err.Number=-2147221005 Then Response.Write"<div>非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序</div>" Err.Clear Response.End End If With objStream .Type = 2 .Mode = 3 .Open .LoadFromF
    tmtony 10-20
  • 4
    方法一:关闭屏幕更新   关闭屏幕更新是提高VBA程序运行速度的最有效的方法 运行速度有可能提高一倍以上。 关闭屏幕更新的方法:   Application.ScreenUpdate = False   且不要忘记VBA程序运行结束时再改回来:   Application.ScreenUpdate = True    方法二:尽量使用VBA自身的属性、方法和 及Excel 自己的 Worksheet函数   尽量使用VBA自身原有的属性、方法和Worksheet函数,不要自己再写代码,再造轮子(除非是Excel自身的函数非常影响效率),您自己写的代
    DwcCC 6-13
  • 8
    如题,word环境中使用VBA如何获取剪切板内容?
    powerli93 7-13
  • 0
    1. Excel Vba发送邮件-CDO邮件发送 https://haokan.baidu.com/v?pd=bjh&vid=6763187257981936965&am 2. Access及VBA到底能做什么,能实现什么样的行业管理系统 https://haokan.baidu.com/v?pd=bjh&vid=1005013198231717374&am 3.Excel 函数公式教程 https://mo.mbd.baidu.com/r/oijXvzUt32?f=cp&u=fb8fb81fb7e1a7a
    tmtony 6-28
  • 0
    1.界面上有较大的区别 2.wps支持office vba大部分接口,但有部分接口不支持 3.wps不支持透视表 多表来源 4.wps的表概念不支持 新增行自动复制上一行的格式与公式 5.office中单元格居中的xlCenter 参数 在WPS ET中单元格居中是etHAlignCenter,而非xlCenter (tmtony源创) 6.office api 支持相对路径,而wps不支持(tmtony源创),如 Private Declare Function test2Lib "test.dll" Alias "test2" 这个test.dll在office会自动搜索当前相对路径,而在wps中必须要指定绝对路径,使用相
    tmtony 7-6
  • 0
    VBA代码教程(7)-难度:低 -VBA中函数参数有否传入判断IsMissing 作者:tmtony IsMissing是判断可选参数是否有传入 但注意这个可选参数必须定义为Variant类型 否则即使没有传入这个参数,也会认为有参数 Function TestMissing(Optional arg As Variant) If Not IsMissing(arg) Then TestMissing = arg Else TestMissing = "没有参数" End If End Function
    tmtony 5-4
  • 0
    Offset函数实为定位函数。首先要找到中心点,如果以单元格A1为中心点,则A1的位置就是Offset(0,0)。 Offset两个参数分别是行和列。以0为起点。 On Error Resume Next ActiveCell.Offset(0, 1).Select '当前单元格向左移动一格 ActiveCell.Offset(0, -1).Select '当前单元格向右移动一格 ActiveCell.Offset(1 , 0).Select '当前单元格向下移动一格 ActiveCell.Offset(-1 , 0).Select '当前单元格向上移动一格 其中:ActiveCell 是当前激活的单元格 以它为中心,向左 右 上 下移位
    tmtony 4-30
  • 4
    Sub 文件夹是否存在() dim fso as object Set fso = CreateObject("Scripting.FileSystemObject") '设fso为文件夹对象变量 If fso.FolderExists(ThisWorkbook.Path & "\Test") = True Then MsgBox "Test文件夹存在" Else MsgBox "Test文件夹不存在" MkDir ThisWorkbook.Path & "\Test" End If Set fso = Nothing End Sub 注释 : FileExists(路径+文件名): 检验文件是否存在,返回true,false
  • 0
    用VBA代码循环表格当前目录下的所有Excel文件中修改日期为最新的文件名 Dim strPath As String Dim strFile As String Dim datLast As Date Dim strLastFile As String Set fso = CreateObject("Scripting.FileSystemObject") Path = CurrentProject.Path & "" strFile = Dir(Path & "*.xls") strLastFile = "" datLast = #1/1/1900# Do While strFile <> "" Set f = fso.Getfile(Path & strFile) If f.DateLastModified > datLast Then datLast = f.DateLastModified: strLastFile = strFile strFile = Dir Loop Msgbox "最新的
    tmtony 4-28
  • 5
    Excel VBA窗体动态创建控件(标签 文本框 下拉框等) Excel窗体 如果能够根据实际需要自动生成各种控件,那将给程序带来非常大的方便 当然也可以动态来删除创建的控件 Dim ctrLable As Control Dim ctrTextBox As Control Dim ctrComboBox As Control Dim i As Integer With Me For i = 1 To 10 '添加标签控件 (tmtony) Set ctrLable = .Controls.Add("Forms.Label.1", "LB" & i, True) With ctrLable .Caption = "第" & i & "个标签" .Left = 10 .Top = 35 + (i - 1) * 35 .Tag = "AutoControl"
    tmtony 4-28
  • 12
    看到有吧友问如何 VBA中遍历 文件夹下(含有子文件夹) 的所有文件,就做了一个示例教程。 ' VBA中遍历文件夹下所有文件(含子文件夹)的方法很多 ' 但有些方法有一定的局限,如Dir()的方法遍历子文件夹文件不太方便 ' 而 FileSearch方法在office 2007中微软把Application对象FileSearch方法删除了 ' 所有比较安全的方法是使用 FileSystemObject对象实现遍历文件夹及子文件夹中所有文件 ' 为避免显式引用FileSystemObject,我们使用Set fso = CreateObject("Sc
  • 6
    求助一个问题 如图 需要一串代码
  • 37
    急求大神,怎么把多列文本都出现的重复值标记不同颜色
  • 36
    这段时间苦学,终于会了一些基本的代码,写了个录入信息的窗口。 如下图所示,点击input information,弹出录入信息的界面,因为我这个版本office没有日历控件,所以我套用了别人的calendar,现在是想实现点date(textbox1)弹出日历,任意选择一个日期后显示在textbox1内,感谢大神指导
    君少~ 11-14
  • 13
    各位大神好,初学VBA没多久,实际运用中碰到问题,求指点。 目标是把一张表格中的若干个项目,拆分成‘若干张’工作簿,大致的表格模型如下: 百度上搜索到了答案(链接如上),直接套用代码: 百度经验原链接:https://jingyan.baidu.com/article/d7130635071d2313fdf47585.html 如下图,粘贴下列代码在模块中:(加粗的两行代码提示语法错误,本人使用的是EXCEL2016的版本,求大神指点,谢谢!) Sub CFGZB() Dim myRange As Variant Dim myArray Dim titleRange As Range Dim title As S
  • 56
    初来乍到的编程初学者,都抱着一个伟大的理想,立志要用代码来改变这个低效率的世界,然而现实是极奇残酷的…… 但现实又是非常公平的,你不去学习,不去思考,不去实践……还想马上能获得高人一等的编程能力?我告诉你,那是可能的,不过是在你的梦中而已。 在看本帖那就意味着你不是什么智商超群的人,当然我也不是,并且我还是朋友圈中有名的蠢货。现在这个蠢货要将一些自认为有用的建议送给那些智商高于我的人,望各位不要再犯
  • 1
    初来乍到的编程初学者,都抱着一个伟大的理想,立志要用代码来改变这个低效率的世界,然而现实是极奇残酷的…… 但现实又是非常公平的,你不去学习,不去思考,不去实践……还想马上能获得高人一等的编程能力?我告诉你,那是可能的,不过是在你的梦中而已。 在看本帖那就意味着你不是什么智商超群的人,当然我也不是,并且我还是朋友圈中有名的蠢货。现在这个蠢货要将一些自认为有用的建议送给那些智商高于我的人,望各位不要再犯
    ruosha 12-13
  • 22
    各位好!从今天起,本吧一切聊天、灌水、混经验的请此贴!否则一经发现,删除处理! 本吧的宗旨是 学习交流VBA 而不是为了灌水,聊天,混经验!故立此规矩! 各位有VBA 开发经验的也请踊跃报名小吧主! 有美术功底的请报名本吧美工! 让咱们一起为VBA 吧的发展贡献一份力量!
    ush657er 8-6
  • 7
    小吧 招募 有志青年往这儿看 要求: 1.有一定的VBA基础,能解决基本的VBA问题的优先。 (好多招聘广告都这么写,我也试试) 最好提供一下解决问题的链接或者自制教程链接。 2.每周活跃不低于4天。 一周7天,少于4 天边50%的活跃度都不到,还能是个称职的小吧主吗?(没办法,不以规矩不成方圆) 3.及时清理垃圾贴。 所谓的垃圾贴特别是广告贴、口水战贴、妄议政治贴(告别是攻击ZF、ZD),所谓的及时就是一但发现马上清理。(权力与义务从来就
  • 9
    小吧 招募 有志青年往这儿看 要求: 1.有一定的VBA基础,能解决基本的VBA问题的优先。 (好多招聘广告都这么写,我也试试) 最好提供一下解决问题的链接或者自制教程链接。 2.每周活跃不低于4天。 一周7天,少于4 天边50%的活跃度都不到,还能是个称职的小吧主吗?(没办法,不以规矩不成方圆) 3.及时清理垃圾贴。 所谓的垃圾贴特别是广告贴、口水战贴、妄议政治贴(告别是攻击ZF、ZD),所谓的及时就是一但发现马上清理。(权力与义务从来就
  • 23
    VBA常用函数2010-06-17 14:47 【编者语】VBA常用的一些函数,在ARCMAP高级编辑、计算中经常用到,好好学习下! 1,vba字符串函数列表: Trim(string)              去掉string左右两端空白 Ltrim(string)             去掉string左端空白 Rtrim(string)             去掉string右端空白 Len(string)            &n
  • 4
         请教各位大侠,有谁知道CAD中,用VBA画矩形用什么命令?我只知道用多线段画矩形,有没有知道直接用矩形画的命令  &nbs
  • 11
     直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VISUAL BASIC 的子集.实际上VBA是寄生于VB应用程序的版本.VBA和VB的区别包括如下几个方面:   1. VB是设计用于创建标准
    zrjzhzz 7-21

  • 发贴红色标题
  • 显示红名
  • 签到六倍经验

赠送补签卡1张,获得[经验书购买权]

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!

友情贴吧