VBA基础(宏编程)

这篇具有很好参考价值的文章主要介绍了VBA基础(宏编程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

VBA介绍:

Visual Basic for Applications(VBA)是 VisualBasic 的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展 Windows 的应用程序功能,特别是Microsoft Office软件。

编写第一个VBA宏

」:简单的说,宏是一段可以运行的 VBA 代码片段。

首先打开excel的开发者模式:

VBA基础(宏编程)

数据类型:

VBA基础(宏编程)

变量格式:

Dim 变量名 As 数据类型
Dim strConn As String

数组:

 Dim user() As Variant

函数:

弹窗函数:MsgBox()

小脚本:

Sub QueryOracle()

    Dim strConn As String  '链接字符串'
    
    Dim dbConn As Object  '链接对象'
    
    Dim resSet As Object '查询结果集'
    
    '创建数据连接对象'
    Set dbConn = CreateObject("ADODB.Connection")
    Set resSet = CreateObject("ADODB.Recordset")
    
    '拼接链接字符串
    strConn = "Driver={Oracle in instantclient_19_18};Dbq=ORCL216;User Id=用户名;Password=密码;OLEDB.NET=True;CodePage=65001;"
       
    '数组
    Dim user() As Variant
    
    '-----打开数据库------'
    dbConn.Open strConn
          
    'sql语句
    Set resSet = dbConn.Execute("select * from user")
    
    '将查询数据存入数组中
    user = resSet.GetRows(resSet.RecordCount)
    
    '循环行高
    For i = LBound(user, 2) To UBound(user, 2)
        '循环列数
        For j = LBound(user, 2) To UBound(user)
        
            '将数组中的值写入sheet页中
            Sheet1.Cells(2 + i, 1 + j) = user(j, i)
            
        Next
        
    Next
    
    '-----关闭连接----
    dbConn.Close
        
End Sub

单元格:

VBA基础(宏编程)

 

VBA连接Oracle:

方法:免安装客户端+ odbc

1、下载基本包

本地需要准备两个包 instantclient-basic 和 instantclient-odbc

官网:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html

VBA基础(宏编程)

 VBA基础(宏编程)

 VBA基础(宏编程)

 

下载后将两个包解压到同一个目录下,我是解压到D:\D\w\instantclient_19_18,记住这个位置

VBA基础(宏编程)

 配置oracle 网络文件

 需要配置一个网络文件 tnsnames.ora ,这个文件的作用是让本地客户端知道需要访问的数据库地址和相关信息
        在刚才解压的那两个包的目录下新建 “network\admin” 这个目录,将tnsnames.ora 这个文件放在这下面
VBA基础(宏编程)

tnsnames.ora 文件内容

# tnsnames.ora Network Configuration File: D:\app\zico\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
 
ORCL_win10 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.133.129)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

VBA基础(宏编程)

 第三步、安装odbc 驱动、配置DSN数据源

1 安装odbc 驱动

         打开我们电脑的数据源【我是win10 64位的】,可以看到目前的驱动程序没得和oracle 相关的

电脑搜索:odbc

VBA基础(宏编程)

VBA基础(宏编程)

 点击压缩文件后

VBA基础(宏编程)

就有驱动了

 

2 配置DSN数据源

为啥要配置这玩意?其实是因为我们没有安装相应的客户端,excel 只有先从windows 的环境中查找是否有相应的驱动
         同样的在 ODBC数据源管理程序(64位)这里,点击 用户 DSN ⇒ 添加

VBA基础(宏编程)

VBA基础(宏编程) 

 Data Source Name 这里随便填写
TNS Service Name: 必须填写你 oracle -》 network\admin 目录下的 tnsnames.ora 文件中为远程数据库设置别名
D:D\w\instantclient_19_18\network\admin\tnsnames.ora

VBA基础(宏编程)

 VBA基础(宏编程)

   点击 test connection 进行数据库链接测试,输入用户名密码,点击ok 进行测试,在填写正确的情况下就会 弹出 connection successful.
        如果弹出其他的请自行百度,一般是上面哪些信息填写错误了
User name :远程数据库用户登录的密码
Password :登录密码
VBA基础(宏编程)

 VBA基础(宏编程)

VBA基础(宏编程) 

VBA基础(宏编程) 

第四步 VBA链接数据库测试 

4.1 设置相应的 Windows 环境变量
1、path 环境变量后边加上客户端文件地址:D:\D\w\instantclient_19_18

2、TNS_ADMIN 新建这个变量,值根据自己的情况按照图示填写

3、新建 NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 这个变量是为了防止 oracle 中文变成乱码VBA基础(宏编程)

VBA基础(宏编程) 

 代码连接:链接字符串说明

cnn.Open "Driver={Oracle in instantclient__12_1};Dbq=tnsnames.ora中数据库别名或者tnsnames.ora中整个串;User Id=数据库用户名;Password=密码;"

{Oracle in instantclient__12_1} : 就是你配置DSN的时候添加的数据源驱动的名字;
Dbq:tnsnames.ora中数据库别名或者tnsnames.ora中整个串;
User Id:数据库用户名;
Password:密码

Sub ORACLE测试()
   
   Dim strConn As String  '链接字符串'
   
   Dim dbConn As Object  '链接对象'
   
   Dim resSet As Object '查询结果集'
   
   '设置自己的链接信息'
   Dim db_sid, db_user, db_pass As String 'sid,用户名,密码'
   db_sid = "win10_Orcl_DNS"
   db_user = "system"
   db_pass = "123456"
   
   '创建对象'
   Set dbConn = CreateObject("ADODB.Connection")
   Set resSet = CreateObject("ADODB.Recordset")

    '拼接链接字符串
    ' '
    strConn = "Driver={Oracle in instantclient_12_1};Dbq=ORCL_win10;User Id=system;Password=123456;"
   '-----打开数据库------'
   dbConn.Open strConn
   
   '执行查询'
   Set resSet = dbConn.Execute("select count(1) from prd_part t")
   
   '粘贴结果
    Range("A2").CopyFromRecordset resSet
    
    '-----关闭连接----
    dbConn.Close '关闭数据库

   
   
   
   
   
End Sub

VBA基础(宏编程)

VBA基础(宏编程) 

VBA基础(宏编程)
————————————————
版权声明:本文为CSDN博主「dadaowuque」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dadaowuque/article/details/121366531文章来源地址https://www.toymoban.com/news/detail-501447.html

到了这里,关于VBA基础(宏编程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Visual Studio(2015)如何打开Visual Basic 6.0 *.vbp工程?

        以下以Visual Basic创建简易的Windows窗体应用程序为例。     众所周知,Visual Studio(这里以Visual Studio 2015为例)这个被一些人称为宇宙最强的IDE,可以创建Visual Basic工程进行代码编辑。     这样的Visual Basic工程操作路径:文件→新建→项目...→已安装→模板→Visual Basic→

    2024年02月04日
    浏览(91)
  • Microsoft Visual Basic. Unexpected Error (50001)

    mac下office的word下出现“未知的错误(50001)” 出现这个原因主要是其中的模板加载有错误,一般是出现在office更新后。题主在自己的mac下从office2016更新到了2019后,就突然报错。 Microsoft Visual Basic Unexpected Error (50001) - MAC 的提示框: 由于题主忘记截图mac的错误提示框了,这里放个

    2024年02月11日
    浏览(44)
  • Microsoft Office如何打开Visual Basic编辑器(macOS)

    一些专业人士在Microsoft Office套件中有时需要用到Visual Basic编辑器,但又不知道如何打开。本文就向大家讲一下Microsoft Office如何打开Visual Basic编辑器(macOS)。 注:本文只为大家讲解Microsoft Word、Microsoft PowerPoint和Microsoft Excel。 Microsoft Office是由Microsoft(微软)公司开发的一套

    2024年02月07日
    浏览(60)
  • 使用Visual Basic和MkvToolnix批量修改MKV视频音轨属性并重新混流

    windows10 x64 MkvToolNix v73 文本编辑器 待输出的Mkv格式文件,要求是同类型的文件,比如从迅雷下载下来同一来源的连续剧 打开MkvToolNix GUI,添加输入文件,选中一个待输出的文件A 选中音轨,修改语言和默认音轨标记 混流器-显示命令行,复制命令行信息。没试过不转义的代码能

    2024年02月10日
    浏览(57)
  • EXCEL VBA从入门到精通 第九章:Excel VBA高级编程技巧

    介绍Excel VBA中的API编程,以及如何利用它们来访问Windows系统的功能。 Excel VBA提供了访问Windows系统API的功能,通过调用API函数可以访问Windows系统底层的功能和资源,例如操作系统、文件系统、网络、注册表等。API函数可以是Windows操作系统内置的函数,也可以是Windows DLL文件中

    2024年02月02日
    浏览(49)
  • QML基础模型(Basic Model)

    目录 一 QML介绍 二 QML的使用场合 三 实例演示 QML是Qt Quick的缩写,它是一种新型的、面向对象的、跨平台的脚本语言,可以用来描述用户界面或应用程序的交互逻辑。QML可以在Qt应用程序中使用,也可以在其他JavaScript应用程序中使用。 QML使用XML语法来描述应用程序的用户界面

    2024年02月02日
    浏览(32)
  • Python-VBA编程500例-029(入门级)

    目录 1、连续字符段索引: 1-1、Python: 1-2、VBA: 2、相关文章: Python算法之旅:Myelsa的Python算法之旅(高铁直达)-CSDN博客 个人主页:非风V非雨-CSDN博客 欢迎志同道合者一起交流学习,我的QQ:94509325/微信         连续字符段索引 ( Index of Consecutive Character Segments )在实际应用

    2024年04月13日
    浏览(32)
  • Python-VBA编程500例-033(入门级)

    目录 1、角色定位: 1-1、Python: 1-2、VBA: 2、相关文章: Python算法之旅:Myelsa的Python算法之旅(高铁直达)-CSDN博客 个人主页:非风V非雨-CSDN博客 欢迎志同道合者一起交流学习,我的QQ:94509325/微信         角色定位 ( Role Positioning )在编程中的实际应用场景主要体现在以下几

    2024年04月26日
    浏览(29)
  • java并发编程:多线程基础知识介绍

    最初的计算机只能接受一些特定的指令,用户每输入一个指令,计算机就做出一个操作。当用户在思考或者输入时,计算机就在等待。这样效率非常低下,在很多时候,计算机都处在等待状态。 后来有了 批处理操作系统 ,把一系列需要操作的指令写下来,形成一个清单,一次

    2024年02月07日
    浏览(52)
  • VB 语言介绍以及VBA、宏(Macro)的关系

    1. 始祖 BASIC BASIC, Beginners’ All-purpose Symbolic Instruction Code,初学者通用符号指令代码。其目的是设计给初学者使用的程序设计语言。 BASIC是一门很古老的计算机语言,发表于1964年,由美国达特茅斯学院研发。BASIC代码通过BASIC解释器翻译为计算机能识别的机器指令,BASIC代码可

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包