首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在VBA Excel 2003中获取"我的文档"文件夹的语言无关方式

在VBA Excel 2003中获取"我的文档"文件夹的语言无关方式是使用Windows API函数SHGetSpecialFolderPath来获取文件夹路径。以下是一个示例代码:

代码语言:vb
复制
Option Explicit

#If VBA7 Then
    Private Declare PtrSafe Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As LongPtr, ByVal lpszPath As String, ByVal nFolder As Long, ByVal fCreate As Boolean) As Boolean
#Else
    Private Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (ByVal hwndOwner As Long, ByVal lpszPath As String, ByVal nFolder As Long, ByVal fCreate As Boolean) As Boolean
#End If

Const CSIDL_MYDOCUMENTS = &H5

Function GetMyDocumentsPath() As String
    Dim strPath As String
    Dim fResult As Boolean
    
    strPath = Space$(260)
    fResult = SHGetSpecialFolderPath(0, strPath, CSIDL_MYDOCUMENTS, True)
    
    If fResult Then
        GetMyDocumentsPath = Left$(strPath, InStr(strPath, Chr$(0)) - 1)
    Else
        GetMyDocumentsPath = ""
    End If
End Function

这个代码示例定义了一个名为GetMyDocumentsPath的函数,该函数使用Windows API函数SHGetSpecialFolderPath来获取"我的文档"文件夹的路径。函数返回一个字符串,其中包含文件夹的路径。

请注意,这个代码示例仅适用于VBA Excel 2003。在更高版本的Excel中,您可能需要使用不同的方法来获取"我的文档"文件夹的路径。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA解析复合文档00

最可能接触到的就是一个名称叫做Thumbs.db的文件,只要操作电脑,打开了图片,系统就会在图片的同一个文件夹下生成这样一个文件,但默认是隐藏的,所以一般也看不到!...2007版本以上的Office文件,如果编写了VBA代码,在文件的压缩包里,会有个vbaProject.bin文件,也是使用复合文档结构来存储的。...2、解析复合文档有什么用 01 深入了解Excel的文件结构 解析复合文档,能够更加深入理解Excel的文件结构,虽然2007版本以上的Excel已经 换成了xml标记语言存储,但是VBA代码相关的vbaProject.bin...02 直接读取Excel VBA数据 如果想不打开Excel文件来读取Excel的数据,一般使用ADO技术就能做到。...但是如果想要直接获取VBA代码,就只能通过解析文件结构获取,通过解析复合文档,解析出模块的数据流,再进一步进行解析就可以。

1.3K10

代替VBA!用Python轻松实现Excel编程(文末赠书)

大家好,我是小F~ 面向Excel数据处理自动化的脚本编程,目前主要有VBA和Python两种语言可供选择。 从上世纪90年代到目前,VBA一直是Excel脚本编程的主要工具。...VBA语言具有简单易学、功能强大的特点,在长达几十年的时间里为提高Excel工作效率作出了贡献,也积累了海量的代码和学习资料。在这段时间里,Basic语言也一直是国内中学到大学教学首选的计算机语言。...在国内,Python也在逐步代替原来的Basic语言,成为小学、中学和大学学生入门学习计算机编程的首选语言。所以,当前使用Python进行Excel脚本编程以提高工作效率的朋友越来越多。...所以,Python用户在了解Excel对象模型的过程中需要参阅大量VBA的资料,即他们有快速掌握VBA语言的需求和获取xlwings基础性文档和使用手册的需求。...在xlwings API方式下,在sht对象后面引用api,后面就可以使用VBA中的引用方式,Range属性和Select方法首字母都是大写。

5.9K30
  • VBA还能活多久?——完美Excel第169周小结

    从在Excel 5中推出的第一个版本起,VBA的存在将近30年。无论你是否学习过编程,这都是一种非常容易学习的编程语言,并且能够快速应用到具体的工作场景中。 为什么学VBA?...此外,VBA存在的几十年,已经积累了无数的VBA文档资料,还有大量的论坛社区帮助。 2.使用Excel时,借助于VBA,几乎可以做你想做的任何事情。...如果VBA给Excel带来问题或者在Excel版本更新后以前使用VBA开发的应用遇到了很多问题,我想Microsoft一定会对VBA进行更新的。 取代VBA的会是谁?...JavaScript是Microsoft在跨所有设备(PC、浏览器、手机等)上统一Office的使用时一直投入的一种语言,Microsoft也一直在推动使用JavaScript来自动化Excel。...技术 连接满足条件的多个值并显示在一个单元格中 #VBA 复制文件到指定的文件夹并重命名 仅显示组成SUMIFS函数的结果的数据 同步多工作表指定区域的数据 快速给所选单元格添加前缀

    4.7K40

    【项目实战】自监控-01-开启篇

    偶然的机会,了解到`Excel`有一个`VBA`可以用来做二次开发,对当时的我简直就是福音啊。 所以就埋下头,看书,学习别人的代码,学习Excel自带的录制宏.........从此就在`VBA`的路上走了一些距离,当整了将近一年半的`VBA`后 慢慢发现一件事情,就是因为工作性质的问题,做的事情主要也就几类,常用的`VBA`也就那些 自己只是在另外一个层次上的重复...很多都是查百度,然后学习,然后使用,哈哈 Plus:目前我还是菜鸟,因为之前学习的是VBA,所以很多思路其实感觉还是向那边靠近,哈哈 Part 3:开篇小菜:文件操作,涉及模块os 获取当前文件夹路径,...转换工作路径 获取文件的地址,获取文件的名称 文件判断,文件夹判断,是否存在判断 Part 4:文件夹路径 在有些代码中要求转换当前工作路径到合适的位置才可以工作 例如当前Anaconda版本下默认安装的...Part 5:文件地址/文件名获取 已知文件的绝对地址,如何获取它对应的文件夹地址和文件名称 关键字:dirname,basename import ospath2 = "F:\\【10】微信\\Python

    51310

    个人永久性免费-Excel催化剂功能第47波-VBA开发者喜爱的加密函数类

    题外话 本人也是从Excel的VBA语言入门了编程世界的,然后很偶然的机会接触到VSTO,并且在一位热心的网友一路的帮助下,算是入门了C#语言,现在可以灵活地用C#实现自己想要的一些小功能(大部分是抄百度和...回到正题,加密函数介绍 今天介绍的加密函数有 生成MD5和RSA方式的加解密函数,具体这些加密原理我也不懂,我只负责搬运和它能够实现到所需的功能即可。 ?...在VBA代码中调用加解密函数方法 说到重点,VBA开发者可能更多场景还要回到自己在VBA代码中想要调用其他语言开发好的函数,例如此篇的自定义函数。...总结 在我过往发表的众多自定义函数里,大部分直接照搬了.Net Framework类库里的函数,让其能够在Excel环境以自定义函数的形式来使用,当中也收到许多反馈说能用自定义函数的人都自己写VBA代码...第16波-N多使用场景的多维表转一维表 第17波-批量文件改名、下载、文件夹创建等 第18波-在Excel上也能玩上词云图 第19波-Excel与Sqlserver零门槛交互-查询篇 第20波-Excel

    3.2K10

    文科生也能学会的Excel VBA 宏编程入门(三)——合并文件

    大家好,又见面了,我是你们的朋友全栈君。 任务介绍 在日常工作中,我们经常会遇到需要汇总多个表格的数据,将它们合并到一个表格里的情况。...虽然复制粘贴大法好,但如果让你汇总几十人填报的个人信息并做成汇总表格,估计你也膜不动了。因此,这一次我们就通过VBA程序完成这个任务,从此妈妈再也不担心我数数到头秃。...程序基本思路 将要合并的Excel文件放到同一个文件夹中; 在文件夹中新建一个Excel文件用于汇总并运行VBA程序; 通过VBA程序获取这个文件夹中所有文件的路径; 依次通过程序自动打开各个文件,并将数据复制粘贴到汇总表中...excel文件所在路径,对于本文就是”合并.xlsm”文件的文件夹路径,我是这个:D:\Sync\文档\合并文件\。...Dir函数会按文件在文件夹中的实际排序依次返回这两个文件的文件名,也是说你第一次调用Dir("D:\Sync\文档\合并文件\*.xlsx")的时候返回1.xlsx,后面直接调用Dir会返回2.xlsx

    3.8K30

    《Python for Excel》读书笔记连载2:为什么为Excel选择Python?(续)

    在此特别说明,这里发布的文章仅仅为学习笔记,略去了书中一些我认为无关紧要的文字,或者稍作修改,并且有些地方加上了我自己学习感悟,有兴趣的朋友可以对照原书研读。此外,如有侵权,留言告知,我会删除。...缺少对科学计算的支持是VBA的一个明显限制。但是,即使看看核心语言特性,VBA也落后了,这在下一节中会看到。 现代语言特征 自Excel 97以来,VBA语言在语言特性方面几乎没有任何重大变化。...然而,这并不意味着VBA不再受支持:Microsoft在每一个新版本的Excel中都会提供更新,以便能够自动化该版本中引入的新Excel功能。...例如,Excel2016增加了自动化PowerQuery的支持。一种在二十多年前就停止发展的语言正在失去过去几年在所有主要编程语言中引入的现代语言概念。例如,VBA中的错误处理确实显示了它的时代。...在官方VBA文档或论坛上,经常会看到这样的代码: Set fso = CreateObject("Scripting.FileSystemObject") 无论何时调用CreateObject或被告知转到

    2.6K10

    学VBA还是学Python,这不是个问题!

    点击“博文视点Broadview”,获取更多书讯 面向Excel数据处理自动化的脚本编程,目前主要有VBA和Python两种语言可供选择。...从上世纪90年代到目前,VBA一直是Excel脚本编程的主要工具。VBA语言具有简单易学、功能强大的特点,在长达几十年的时间里为提高Excel工作效率作出了贡献,也积累了海量的代码和学习资料。...在国内,Python也在逐步代替原来的Basic语言,成为小学、中学和大学学生入门学习计算机编程的首选语言。所以,当前使用Python进行Excel脚本编程以提高工作效率的朋友越来越多。...所以,Python用户在了解Excel对象模型的过程中需要参阅大量VBA的资料,即他们有快速掌握VBA语言的需求和获取xlwings基础性文档和使用手册的需求。...在xlwings API方式下,在sht对象后面引用api,后面就可以使用VBA中的引用方式,Range属性和Select方法首字母都是大写。

    2.7K50

    对比VBA学习Python,让办公更自动化!

    VBA语言具有简单易学、功能强大的特点,在长达几十年的时间里为提高Excel工作效率作出了贡献,也积累了海量的代码和学习资料。在这段时间里,Basic语言也一直是国内中学到大学教学首选的计算机语言。...在国内,Python也在逐步代替原来的Basic语言,成为小学、中学和大学学生入门学习计算机编程的首选语言。所以,当前使用Python进行Excel脚本编程以提高工作效率的朋友越来越多。...这几个包小巧灵活,但是功能上有明显的不足,无法与VBA媲美。使用win32com和xlwings等包,VBA能做的Python都能做,但是这方面的资料很少,特别是语言参考这样一些最基本的文档缺乏。...所以,Python用户在了解Excel对象模型的过程中需要参阅大量VBA的资料,即他们有快速掌握VBA语言的需求和获取xlwings基础性文档和使用手册的需求。...在xlwings API方式下,在sht对象后面引用api,后面就可以使用VBA中的引用方式,Range属性和Select方法首字母都是大写。

    3.8K11

    学VBA还是学Python,这不是个问题!

    VBA语言具有简单易学、功能强大的特点,在长达几十年的时间里为提高Excel工作效率作出了贡献,也积累了海量的代码和学习资料。在这段时间里,Basic语言也一直是国内中学到大学教学首选的计算机语言。...在国内,Python也在逐步代替原来的Basic语言,成为小学、中学和大学学生入门学习计算机编程的首选语言。所以,当前使用Python进行Excel脚本编程以提高工作效率的朋友越来越多。...这几个包小巧灵活,但是功能上有明显的不足,无法与VBA媲美。使用win32com和xlwings等包,VBA能做的Python都能做,但是这方面的资料很少,特别是语言参考这样一些最基本的文档缺乏。...所以,Python用户在了解Excel对象模型的过程中需要参阅大量VBA的资料,即他们有快速掌握VBA语言的需求和获取xlwings基础性文档和使用手册的需求。...在xlwings API方式下,在sht对象后面引用api,后面就可以使用VBA中的引用方式,Range属性和Select方法首字母都是大写。

    2.9K40

    干货 | Office文档钓鱼的实战和免杀技巧

    文件,在两个文件夹内部创建各创建一个index.html文件。...Visual Basic for Applications(VBA)是Visual Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。...这个功能的本意是为了更方便地在 word 里同步更新其它应用的内容,比如说在一个 word 文档里引用了另一个 excel 表格里的某项内容,通过连接域 (Field) 的方式可以实现在 excel 里更新内容后...可以将IYQ简单的理解成内置在excel中的一种特殊‘web浏览器’(不能加载脚本),通过IQY【即web查询】语句,可以直接将各类web上的列表数据轻松引入到当前的excel中,而正是因为这样,从而给了我们利用...2.9 超链接 在PDF、Office文档中内嵌一个跳转链接是很早期的钓鱼方式,通过文字信息的引导,让受害者点开页面,如果缺乏戒心,就可能会获取到受害者的账号、密码、银行卡、身份证等信息。

    7.8K21

    用Excel轻松制作文件夹及文档链接目录,哪里需要什么VBA!

    利用Excel管理文件夹及相关文档,可以很方便地利用Excel的筛选、查找等功能,而且,借助Excel中的HyperLink函数,可以实现相关的链接,达到直接通过Excel打开相应文档功能...具体实现方法如下: 一、获取某文件夹下所有文档形成目录索引 获取文件夹下的所有文档形成目录索引有很多方法,比如通过dos命令行获得,然后复制粘贴进来,或者通过VBA批量获取,但这些方法都太过...“专业”,对很多用户来说操作起来比较麻烦,因此,推荐使用Power Query来完成,具体如下: Step-01:从文件夹获取数据 Step-02:选择要管理的文件夹 Step-03:在弹出的窗口中单击...以上通过两个操作实现了从需要管理的文件夹中非常方便地导入所有所需文件信息以及建立文档链接的过程,而且,通过Power Query实现的操作,在文件夹相关内容更新后,可以在Power Query中直接一键更新...(由于Power Query查询结果返回Excel时生成的是超级表——关于超级表我后续会撰文专门描述,因此,在超级表里用HyperLink函数缩写的公式也会随之刷新),如下图所示:

    1.3K20

    分享一个批量汇总合并文件的程序

    二、可能遇到的问题 如果每个表的格式规范,这种场景需求比较容易解决。比如用Excel 、Power BI里的Power Query,或VBA, 或WPS的付费功能,或第三方插件如方方格子等。...,比如A文档的【单价】在C列,而B文档里在D列; 起始行位置不一致,这种在销售订单里非常常见,由于表头信息的存在,导致A文档的字段名从第6行开始,而B文档从第9行开始; 还有极少数情况下,需要汇总的文档包含了...无论使用何种方式,在处理工作表名、字段名的不一致问题时,都需要建立一张辅助的对照关系表,将各种不同情况,映射到统一情况中,如下图所示: 我专门针对这几种情况,开发了一款小软件。...通过建立相应的对照关系规则表,只需三步,即可实现批量汇总不规范格式的文档。 选择规则表 选择要合并汇总的文件 选择合并方式 软件提供了3种合并方式:按列的位置、按列名称和按自定义规则(即规则表)。...五、软件获取方式 关注本公众号,发消息【批量汇总】,即可获取下载链接。程序约80M,免安装,解压即用。解压后,打开【dist】文件夹,双击深蓝色图标即可。结果输出到同文件夹下【结果】文件夹中。

    81830

    读取Excel的文本框,除了解析xml还可以用python调用VBA

    传统行业:电信,人们的上网、打电话、发短信等等数据 数据源:网站、app 都要往我们的后台去发送请求,获取数据,执行业务逻辑;app获取要展现的商品数据;发送请求到后台进行交易和结账 后台服务器,...我的实现方式是整个文件夹都转换完毕再关闭应用,这样相对来说处理更快一些,但可能更耗内存,代码如下: import win32com.client as win32 # 导入模块 from pathlib...使用Python调用VBA解决需求 VBA官方文档地址:https://docs.microsoft.com/zh-cn/office/vba/api/overview/excel 整体而言,上面自行解析...xml的方法还是挺麻烦的,在写完上面的方法后我灵机一动,VBA不就有现成的读取文本框的方法吗?...使用xlwings解决需求 苹果电脑是不支持VBA的,上面调用VBA的代码对于苹果电脑来说无效,但所幸的是xlwings在0.21.4版本中新增了访问文本框文本的属性text。

    2.7K20

    PQ和超级表结合,实现文件夹及文档管理

    利用Excel管理文件夹及相关文档,可以很方便地利用Excel的筛选、查找等功能,而且,借助Excel中的HyperLink函数,可以实现相关的链接,达到直接通过Excel打开相应文档功能...具体实现方法如下: 一、获取某文件夹下所有文档形成目录索引 获取文件夹下的所有文档形成目录索引有很多方法,比如通过dos命令行获得,然后复制粘贴进来,或者通过VBA批量获取,但这些方法都太过...“专业”,对很多用户来说操作起来比较麻烦,因此,推荐使用Power Query来完成,具体如下: Step-01:从文件夹获取数据 Step-02:选择要管理的文件夹 Step-03:在弹出的窗口中单击...以上通过两个操作实现了从需要管理的文件夹中非常方便地导入所有所需文件信息以及建立文档链接的过程,而且,通过Power Query实现的操作,在文件夹相关内容更新后,可以在Power Query中直接一键更新...(由于Power Query查询结果返回Excel时生成的是超级表——关于超级表我后续会撰文专门描述,因此,在超级表里用HyperLink函数缩写的公式也会随之刷新),如下图所示: 在线M函数快查及系列文章链接

    92020

    Active APT

    为 Word 和 Excel 文档添加了狡猾的远程模板注入器;独特的 Outlook 群发邮件宏 ESET 研究人员发现了几个以前未被记录的攻击后工具,这些工具被高度活跃的 Gamaredon 威胁组织在各种恶意活动中使用...这是一种在组织网络中横向移动的非常有效的方式,因为文档通常在同事之间共享。此外,由于这些宏在打开文档时运行,因此在系统上持久保存是一种好方法,因为其中一些文档可能会在不同时间多次打开。...值得注意的是,有两个文本文件,一个用于 Word,一个用于 Excel,包含要插入目标文档的恶意宏的 VBA 源代码,以及负责查找和破坏现有文档的 .NET 程序集。...然后,它会在连接到系统的所有驱动器上扫描具有有效 Word 或 Excel 文件扩展名的文档。对于包含 Windows 安装的驱动器,它仅扫描特定位置,即桌面和下载文件夹。...恶意软件将每个找到的文档移动到AppData文件夹,使用Microsoft.Office.Interop对象将恶意 Word 或 Excel 宏插入其中,然后将文档移回其原始文件夹。

    8K00

    【坑】如何心平气和地填坑之拿RSViewSE的报表说事

    我的天呢!!简直丧心病狂。 当然腹诽完了,该干的活还是要干滴。...ActiveX是基于COM接口的UI组件规范,主要实验语言无关的可视控件,多用于可视化编程及其他面向对象的快速开发领域。需要通过脚本对其内容进行编辑。...在RSViewSE软件里面,支持VBA脚本,其编辑器可通过选择任意对象右键>VBA代码进入 在画面内放个SE软件的按钮,进入其脚本编辑页面 RSViewSE软件的VBA脚本编辑页面 按钮的事件 选择按钮的按下事件...注意,在VBA/VB/VBS语言里面,英文输入法的单引号’ 是注释符 编程原则:结构化、模块化、思路清晰、注释清楚、能够用子程序的就不要全都挤一块 选择按钮的按下事件 先设置表格的样式,合并单元格...此处可参考软件帮助文档,有示例代码可直接使用 第一步,定义和TagGroup 第二步,获取Tag值 此处代码我自己修改过,与帮助文档源代码稍有差异 向表格内填入从RSViewSE处获取的数值 先用按钮调用一下该子过程

    3.2K41

    【JSA宏神助攻之一】FreeScript给数据分析工作者带来无限惊喜,在ExcelWPS环境上做专业数据分析不是梦

    在Excel/WPS环境下使用,可以无限降低用户的使用门槛,就如日常使用的Excel模板一样,只需要制作好一个R、python脚本,让用户可以根据自己的数据源及相关配置,使用Excel上的数据及交互方式...最新突破,在C# /VB.NET /PowerShell上,都可以做到在脚本中获取到当前的Excel/WPS表格的Application对象模型。...有了Application对象模型,就不单单是让脚本来处理数据这么简单,只需要将特定的参数从VBA/JSA上传递给脚本获取,在脚本端直接将所有自动化流程做完都可以,包括但不限于增删工作薄、工作表,对单元格...获取Application对象仅在VBA/JSA环境下可行,在自定义函数上会报错。 下面一起来感受下最终的效果,来个简单demo给大家一窥究竟。...使用与Excel交互的方式,调用单元格内容完成作图,自定义函数与VBA/jsa均可使用。 大量时间花在开发探索上,文档写得比较粗糙,让尝鲜者先玩起来,慢慢再迭代完善文档、视频等教学内容。

    21610

    【JSA神助攻之一】FreeScript给数据分析工作者带来无限惊喜,在ExcelWPS环境上做专业数据分析不是梦

    在Excel/WPS环境下使用,可以无限降低用户的使用门槛,就如日常使用的Excel模板一样,只需要制作好一个R、python脚本,让用户可以根据自己的数据源及相关配置,使用Excel上的数据及交互方式...最新突破,在C# /VB.NET /PowerShell上,都可以做到在脚本中获取到当前的Excel/WPS表格的Application对象模型。...有了Application对象模型,就不单单是让脚本来处理数据这么简单,只需要将特定的参数从VBA/JSA上传递给脚本获取,在脚本端直接将所有自动化流程做完都可以,包括但不限于增删工作薄、工作表,对单元格...获取Application对象仅在VBA/JSA环境下可行,在自定义函数上会报错。 下面一起来感受下最终的效果,来个简单demo给大家一窥究竟。...使用与Excel交互的方式,调用单元格内容完成作图,自定义函数与VBA/jsa均可使用。 大量时间花在开发探索上,文档写得比较粗糙,让尝鲜者先玩起来,慢慢再迭代完善文档、视频等教学内容。

    15010

    当Python遇到Excel后,将开启你的认知虫洞

    没错,如果单凭VBA本身的确无法与这些流行的编程语言相比,但要知道,VBA和Excel本身可以与其他开发工具融合,也就是说,可以让VBA和Excel成为自己系统的一部分,这就显得非常牛逼了。 ?...CreateObject函数),然后就可以任意调用VBA的API了,我比较喜欢这种方式。...通过这种方式,可以将系统中的数据按着一定的格式直接传输到Excel中,给用户提交的是包含表格数据的Excel文档。 反客为主方式:这种方式将Excel作为主体。...第2种其实是一种取巧的方式,通过VBA做桥,调用其他编程语言,相当于用其他编程语言代替了VBA。这其中典型的就是xlwings。...尽管这种方式从表面上看可以直接在Excel中像使用VBA一样使用这些编程语言,但从本质上看仍然是直接写xlsx文件。功能其实与第1种方式相同,因为这并不是官方支持的功能。

    3.6K31
    领券