使用VBA获取电脑MAC地址

news2024/11/18 16:43:13

实例需求:如何使用VBA读取电脑的MAC地址,包含有线网卡和无线网卡。

这个需求看似有些无厘头,为嘛要用VBA来读取MAC地址,存在的就是合理的。例如使用MAC地址和其他硬件信息可以生成电脑的唯一识别号,用于软件注册和实现软件狗功能。当然可能还也更多的应用场景。

VBA对象模型只是涵盖Office对象,如果需要读取硬件信息,就要借助WMI(Windows Management Instrumentation),其简单介绍请参考 微软官方文档

示例代码如下。

Sub MAC_Address()
    Dim objSht As Worksheet
    Dim iRow As Integer
    Dim strSQL As String    
    Set objSht = ActiveSheet
    Set objWMI = GetObject("winmgmts:root\CIMV2")
    strSQL = "Select * from Win32_NetworkAdapterConfiguration"
    Set oAdapConfs = objWMI.ExecQuery(strSQL)
    objSht.Range("A1:B1").Value = [{"名称", "MAC地址"}]
    iRow = 2
    For Each objAdapConf In oAdapConfs
        With objAdapConf
            objSht.Cells(iRow, 1) = .Description
            objSht.Cells(iRow, 2) = .MACAddress
        End With
        iRow = iRow + 1
    Next
    Set objWMI = Nothing
    Set objSht = Nothing
End Sub

【代码解析】
第5行代码获取活动工作表对象,用于保存结果。
第6行代码创建WMI对象。
第7行代码为用于读取读取网卡配置信息的sql语句。
第8行代码调用ExecQuery执行sql。
第9行代码设置标题行。
第10行代码设置数据起始行为2。
第11~17行代码循环遍历网卡配置信息。
第13~14行代码读取DescriptionMACAddress信息分别写入A列和B列。
第18~19行代码释放对象变量占用的系统资源。

运行代码结果如下所示。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue Node

Vue配置代理服务器 一、运行后台服务 启动后台Node服务器,运行后台程序,学习资料node代码,服务5000开启 FeHelper - Awesome 二、Ajax请求 xhr 【不常用】Windows 内部 new XMLHttpRequest()xhr.open() xhr.send()内部公司封装xhr开源封装…

力扣 2325. 解密消息

题目 给你字符串 key 和 message ,分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下: 使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序 。 将替换表与普通英文字母表对齐,形成对照表。 按照对照表 替换…

OAuth2 01

目录 1.什么是OAuth 2.OAuth2中的角色 3.认证流程 4.生活中的OAuth2思维 5.令牌的特点 6.OAuth2的授权方式 6.1 OAuth2授权码 6.2 隐藏方式 6.3 密码方式 6.4 凭证方式 1.什么是OAuth2 1.OAuth2.0介绍 OAuth(Open Authorization)是一个关于授权&…

Android 抓包相关 SSL相关

https无法明文抓包 Android P版本开始强制App使用Https协议,否则访问崩溃如下所示错误: java.lang.ClassCastException: com.android.okhttp.internal.huc.HttpURLConnectionImpl cannot be cast to javax.net.ssl.HttpsURLConnection可参阅&#xff…

C 语言零基础入门教程(二十三)

C 可变参数 有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数。C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数。下面的实例演示了…

Centos8中安装配置php

一、问题描述Centos8中我们在使用Apache部署配置网站的时候,发现Apache服务已经正常启动且网站也配置完成到Apache主目录中,但是访问时网站却不能正常运行【即:只能够以列表的方式列出所有网站的资源文件,而不是以网页的形式展现】…

关于荧光素76863-28-0,FITC-5-thiosemicarbazide,荧光素-5-氨基硫脲 相关知识分享

荧光素-5-氨基硫脲,Fluorescein-5-thiosemicarbazide,FITC-5-thiosemicarbazide荧光素-5-氨基硫脲是一种含胺的荧光探针,可用于标记糖和蛋白质羰基衍生物Product specifications:1.CAS No:76863-28-02.Molecular formu…

超越OCR的富文档内容解析神器LayoutParser

论文题目:《A unified toolkit for Deep Learning Based Document Image Analysis》 论文链接:https://arxiv.org/abs/2103.15348 论文官方网站:https://layout-parser.github.io/ 论文开源项目:https://github.com/Layout-Par…

Ubuntu 18.04安装配置MySQL数据库

文章目录1. 安装MySQL数据库2. 配置MySQL数据库3. 远程访问设置4. Navicat连接MySQL数据库1. 安装MySQL数据库 这里可以通过包管理工具apt安装MySQL数据库,在ubuntu18.04下mysql版本默认为5.7。 安装命令如下: sudo apt-get install mysql-server安装…

【Echarts雪花宝典特殊示例100+】 目录

目前已发表2篇示例文章vueecharts系列教程旨在为开发者提供简单快捷的代码示例,复制即可用。在每一个示例中,解释相应的API知识点,做到简易实现,轻松学会。 通常一个Echarts图表通常由title(标题)、legend(图例)、grid&#xff0…

ESP-IDF:插入排序和希尔排序测试

代码&#xff1a; /插入排序和希尔排序测试/ void printArray14(int arr[], int len) { for (int i 0; i < len; i) { cout << arr[i] << " "; } cout << endl; } void insertSort(int arr[], int start, int end) { // 无序插入有序队列&am…

BM19 寻找峰值

目录 描述 示例1 思路&#xff1a; 代码&#xff1a; 描述 给定一个长度为n的数组nums&#xff0c;请你找到峰值并返回其索引。数组可能包含多个峰值&#xff0c;在这种情况下&#xff0c;返回任何一个所在位置即可。 1.峰值元素是指其值严格大于左右相邻值的元素。严格…

专访三维空间雷成老师 | 原来水墨画风格的3D建筑动画可以如此惊艳……

CGarchitect 是业界赫赫有名的国际3D建筑赛事&#xff0c;2005年首次举办至今已成功举办了17届大赛&#xff0c;每年都吸引了全球许多知名的建筑设计工作室、动画工作室、艺术家及学生参赛。2021年的CGarchitect奖项类别包括图像组、影片组和交互组&#xff0c;其中图像组和影片…

【Rust】17. Rust 中的并发

17.1 线程 17.1.1 spawn&#xff1a;创建新线程 thread::spawn&#xff1a;创建一个新线程&#xff0c;需要传递一个闭包&#xff0c;并在其中包含希望在新线程运行的代码thread::sleep&#xff1a;调用强制线程停止执行一小段时间。比如&#xff1a;thread::sleep(Duration::…

深入理解MySql(一)MySql视图、存储过程、预处理语句、触发器、定时器

MySql视图、存储过程、预处理语句、触发器、定时器 1、视图 视图&#xff08;View&#xff09;是一种虚拟存在的表。视图中的数据并不在数据库中实际存在&#xff0c;行和列数据来自定义视图的查询中使用的表&#xff0c;并且是在使用视图时动态生成的。 视图只保存了查询的…

iOS面试- 0x02 WebView

有了UIWebView&#xff0c;为什么还需要WKWebView&#xff1f; UIWebVieW的缺点&#xff1a; 笨重难用、内存泄露、内存消耗大&#xff0c;性能差 —— WKWebView提高性能 WKWebView 拥有60fps滚动刷新率和safari相同的js引擎等优势。 1、WKWebView 白屏问题 WKWebView是一个多…

ElasticSearch6.x版本的Scroll滚动查询讲解及Kibana和SpringBoot实操演示

文章目录一、Scroll滚动查询介绍二、Kibana上操作三、SpringBoot中操作四、总结一、Scroll滚动查询介绍 ElasticSearch中在进行普通的查询时&#xff0c;默认只会查询出来10条数据。我们通过设置ElasticSearch中的size可以将最终的查询结果从10增加到10000。但这时候如果我们需…

Sensor曝光和帧率基础知识

Sensor曝光和帧率基础知识1. 简介2. H_BLANK和V_BLANK3. 曝光原理3.1 Sensor逐行曝光基本原理3.2 Sensor全局曝光基本原理4. 曝光时间计算公式4.1 曝光一行的时间line_timeline\_timeline_time4.2 曝光一帧的时间exposure_timeexposure\_timeexposure_time4.3 帧率(fps)的计算1…

2023,“蔚小理”真的经不起更多“事故”了

历史总是惊人的相似。2013年&#xff0c;哈弗品牌独立出来&#xff0c;与长城品牌并行运营&#xff0c;当时推出两年的哈弗H6正卖得火热&#xff0c;推动SUV这个细分品类在中国快速成长&#xff0c;中国自主品牌也借SUV开始攻占被合资品牌占领的市场。时移势易。十年后的2023年…

浅析TSINGSEE车载监控平台助力城市公交智能监管的方案设计

道路运输已成为铁路以外最重要的地面运输方式&#xff0c;在国民经济和社会发展中发挥着举足轻重的作用。然而&#xff0c;随着汽车的普及和交通需求的快速增长&#xff0c;道路运输带来的交通拥堵、交通事故和环境污染等负面影响日益突出&#xff0c;逐渐成为全球经济社会发展…