首页
学习
活动
专区
圈层
工具
发布

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

一般像我这种水平的人,只需要不断地百度或google,就可以拿到现成的东西直接复用,VBA毕竟是业务开发者使用的编程语言,同时又是一个官方停止更新语言,仍然使用VBA做一些复杂的需求,有点吃力不讨好。...在VBA代码中调用加解密函数方法 说到重点,VBA开发者可能更多场景还要回到自己在VBA代码中想要调用其他语言开发好的函数,例如此篇的自定义函数。...能够使用Application.Run来调用的前提是自定义函数的加载项已经被加载,即xll文件已经被Excel加载进来。...系列文章 一文带你全面认识Excel催化剂系列功能 安装过程详解及安装失败解决方法 第1波-工作表导航 第2波-数字格式设置 第3波-与PowerbiDesktop互通互联 第4波-一大波自定义函数高级应用...-文件文件夹相关函数 第42波-任意字符指定长度随机函数 第43波-文本处理类函数增强 第44波-可见区域复制粘贴不覆盖隐藏内容 第45波-逻辑判断函数增强 第46波-区域集合函数,超乎所求所想 关于Excel

4.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Linux系统编程】(十八)手搓 Linux Shell 命令行解释器:从 0 到 1 打造属于你的终端神器

    :strtok是字符串拆分的核心函数,第一次调用时传入要拆分的字符串和分隔符,后续调用时第一个参数传NULL,表示继续拆分上一次的字符串。...进程等待的必要性:父进程(Shell)通过waitpid阻塞等待子进程执行完成,不仅可以回收子进程资源,避免僵尸进程,还可以获取子进程的退出状态码,了解命令的执行结果(0 表示成功,非 0 表示失败)。...常见内置命令与对应的系统调用 内置命令 功能描述 对应的系统调用 / 实现方法 exit 退出 Shell 直接终止主循环,调用exit函数 cd 切换工作目录 调用chdir系统调用 pwd 打印当前工作目录...,成功返回 0,失败返回 - 1; 处理cd无参数的情况:默认切换到用户的主目录,通过getenv("HOME")获取HOME环境变量的值,这与 bash 的行为一致。...pwd命令的实现:调用getcwd系统调用获取当前工作目录,getcwd会将当前工作目录的路径存入指定的缓冲区,成功返回缓冲区指针,失败返回 NULL。

    15310

    ExcelVBA调用CDO控件批量发QQ邮件并添加不同附件

    【问题】近来我要进行这样的工作,每月下属的单位要来GZ明细。...Yeah, 【准备工作】网上学习到有两种方法:一是VBA调用OutLook控件进行发送,这要在电脑中安装Office OutLook,(可惜我的电脑没有安装),一是VBA调用CDO控件,再利用QQ邮箱发送...,好了 QQ邮箱设置: 打开mail.qq.com---设置---帐户---开启POP3---生成授权码 复制出授权码 下面开始设计我自己的工具啦,我们的口号是VBA使工作效率更高 【工具界面】...】=" & sucess & "【失败】=" & fail) End With disAppSet (True) End Sub 听说,如果我们用程序调用CDO,再调用QQ邮件系统发送邮件时...我们对返回是“打开”或“取消”要进行 Not isArray()判断 【测试成功】 希望能提高我的工作效率,使工作变得轻松, 如果你也有这样的需要,可以复制使用,我们学习,是为了不加班,如果你学习到知识

    2.6K10

    【Linux系统】从零开始构建简易 Shell:从输入处理到命令执行的深度剖析

    打印命令行提示符: 在 main() 函数中调用 getpwd() 获取当前工作目录,然后通过 printf() 按以下格式打印提示符: 等待用户输入: 程序通过 scanf() 等待用户输入命令...strtok(char *str, const char *delim); 参数: char *str: 第一次调用时传入需要分割的字符串。...后续调用传入 NULL 表示继续上一次的分割。 const char *delim: 一个以 \0 结尾的字符串,表示分割的分隔符集合(例如,空格、逗号等)。...返回值: 成功:返回一个指向分割后的子字符串(token)的指针。 失败:如果没有更多的子字符串可以返回,则返回 NULL。...waitpid 等待子进程结束并处理退出状态。 结果:命令执行结果的退出码存储在 lastcode 中供后续使用。

    53500

    编写一个 Word Macro,调用 DeepSeek API

    下面这篇文章从宏的声明到错误处理,详尽解读代码的目的与实现细节,帮助你深入理解 VBA 在 Word 自动化中的应用。...DeepSeekV3 宏结构概览本文分为以下几个部分介绍宏流程: 宏的声明与结束 变量声明与初始化 API 密钥与文本选择检查 保存原始选区 文本预处理 调用自定义 API 函数 正则表达式提取内容...插入结果与光标恢复 错误处理与用户提示 宏的声明与结束在 VBA 中,使用 Sub…End Sub 来定义一个不返回值的过程,这种过程执行一系列操作但不会作为表达式的一部分返回值 citeturn0search0...Exit Sub End If保存原始选区在修改 Selection 之前,先将当前选区的 Range 对象复制一份,以便后续恢复光标位置 citeturn9search0。...调用自定义 API 函数使用自定义的 CallDeepSeekAPI 函数,将 api_key 与 inputText 传入并返回结果字符串: response = CallDeepSeekAPI

    37910

    VBA: 隐藏模块中出现编译错误:的解决对策

    这是因为,VBA 版本 6 和更早版本完全以 32 位平台为目标,而且通常包含 Declare 语句,这些语句调用的 Windows API 使用 32 位数据类型的指针和句柄。...下面这种方法可以避开VBA工程的密码验证。具体步骤如下: (1)新建一个工作簿(xlsm格式)(记为工具文件),在工作簿内新建一个模块。将以下代码复制到模块内。...DialogBoxParamA,但装入的不是4070号对话框,这里我们调用 'RecoverBytes函数恢复原来函数的功能,在进行原来的函数 RecoverBytes..." End Sub (3) 打开需要破解VBA工程密码的工作簿。...顺利的话,会弹出对话框,提示”破解成功“。 (5) 双击刚才要解密的VBA工程窗体,发现已经可以查看之前受保护的模块代码了。

    17.7K11

    从零开始手写Shell:详解命令行解释器的实现原理

    : 首次调用:传入待分割字符串和分隔符 后续调用:使用nullptr继续处理原字符串 修改原理:通过插入\0修改原字符串,返回每个token的起始地址 示例解析过程: 输入:"ls -l /usr" 内存变化...v表示参数以数组形式传递 p表示自动搜索PATH环境变量 成功时替换当前进程映像,失败返回-1 waitpid()同步机制: 父进程阻塞等待指定子进程结束 第二个参数可获取退出状态 防止僵尸进程...后续调用使用nullptr继续处理 自动构建与main()函数兼容的argv格式 进程管理引擎 Execute()实现经典fork-exec模型: 主控流程 典型REPL循环结构: while(true...) { 显示提示 → 获取输入 → 解析命令 → 执行命令 } 关键函数说明 strtok工作机制 首次调用:传入待处理字符串和分隔符 后续调用:使用NULL继续处理原字符串 修改原理:通过插入...\0分割字符串,返回每个token的起始地址 execvp特性 v:参数以数组形式传递(需NULL结尾) p:自动搜索PATH环境变量中的可执行文件 执行成功时替换当前进程映像,失败返回-1 waitpid

    67610

    VBA数据类型String

    比如你想用C语言写dll给VBA调用,C语言可是没有String类型的,C的函数该如何去用?这就涉及到了数据类型的内存结构,深入了解才能够使用好。...3、与其他语言的dll交互 经常接触到的是windows的API调用,在VBA里先声明1个String,并且赋值一个足够的长度,调用之后再根据返回长度来取出需要的字符串。...4、是否可以构建1个String变长的内存区域 即然知道了VBA String类型的内存结构,我就想如果自己用C语言做一个dll,函数传出StrPtr需要的那个地址,赋值给1个str的VarPtr那个地址...,是不是程序退出的时候VBA的垃圾回收能释放那个内存?...printf "str = %s", str Stop FreeLibrary hdll End Sub 输出: hdll = 0x69b50000 str = a 程序能成功输出

    1.7K30

    【Linux系统编程】(四十)线程控制终极指南:从资源共享到实战操控,带你吃透线程全生命周期

    当前工作目录:进程的当前工作目录由所有线程共享,一个线程调用chdir()修改工作目录,其他线程的工作目录也会随之改变。...但 pthread 库的函数错误处理方式不同: 函数执行成功时返回 0。 执行失败时,不设置全局errno,而是直接返回错误码(非 0 值)。...函数的代码后return,相当于调用exit函数,会终止整个进程,进程内的所有线程都会随之退出。...主线程:发送取消请求 主线程:子线程已被成功取消 4.3 线程终止的禁忌:避免使用 exit 函数         线程中绝对不要调用exit函数!exit函数的作用是终止整个进程,而不是当前线程。...函数原型: int pthread_detach(pthread_t thread); 参数thread:要设置为分离状态的线程的用户级 ID。 返回值:成功返回 0,失败返回非 0 错误码。

    10610

    ExcelVBA从入门到精通——(1)实现第一个VBA程序

    VBA简介&用途 Visual Basic for Applications(VBA),是依附在应用程序(例如Excel)中的VB语言。...只要你安装了Office Excel就自动默认安装了VBA,同样Word和PowerPoint也能调用VBA对软件进行二次开发而让一些特别复杂的操作“脚本化”。...如何打开VBA 1、打开“开发工具”功能(第一次使用VBA) 如果你是第一次使用VBA,需要打开“开发工具”功能。...写在最后 后续我会详细介绍VBA的语法、函数和数据处理,帮助零基础的朋友实现从VBA入门到精通(精通估计是开玩笑的,能熟练使用VBA完成日常繁琐Excel操作“脚本化”应该是我们的目标。...谨以本文献给可爱的菜某,希望她早日学会VBA,解放双手~

    3.7K10

    过程(一)定义和分类

    二、过程的分类 过程主要分为三类,通用过程、事件过程和属性过程,其中通用过程又分为Sub(子程序)过程和Function(函数)过程。 前面已经接触过事件过程和Sub(子程序)过程。...1、事件过程 事件过程就是学过的excel事件,包括工作簿事件、工作表事件、窗体控件事件、以及ontime和onkey事件等等。 事件过程,在对应的模块中选择对象和事件后,会自动添加事件过程的代码。...2、属性过程 在”类模块“中设置类的属性时,可通过”属性过程“来完成,后续如果有机会介绍类模块时再做介绍。...在VBA中通用过程又分为两类:Sub(子程序)过程,和Function(函数)过程。 Sub过程:这类过程完成指定的任务,执行结束后不返回值。...Function过程:这类过程完成指定任务,并返回一个值供调用的程序使用。 通用过程都保存着在VBA的“模块”中,一个模块可以包含任意数量的过程,同时一个VBA工程也可以包含任意多个模块。

    2.1K30

    【Linux系统编程】(十七)揭秘 Linux 进程创建与终止:从 fork 到 exit 的底层逻辑全解析

    1.5 fork 调用失败的原因:这些 “坑” 要避开 虽然 fork 函数很常用,但并不是每次调用都能成功。...当某个用户创建的进程数超过这个限制时,该用户后续的 fork 调用就会失败。...进程完成了预定的任务,没有出现任何错误,退出码为 0(退出码的含义后续会详细讲解)。例如,执行 ls 命令成功列出目录内容后,ls 进程就会正常退出,退出码为 0。...2.2.1 正常终止:主动离场的三种方式 正常终止的进程会返回一个退出码(0 表示成功,非 0 表示失败),父进程可以通过 wait 系列函数获取这个退出码,了解子进程的执行结果。...执行结果: 程序开始执行 业务逻辑执行完成,准备退出 执行清理函数:释放临时资源 退出码:0 从结果可以看到,exit 函数调用后,程序会立即终止,后续的代码不会执行,并且会自动执行注册的清理函数

    16010

    一起学Excel专业开发14:了解Excel应用程序开发的四个阶段

    学习Excel技术,关注微信公众号: excelperfect 在正式将VBA引入我们的应用程序之前,让我们先了解Excel应用程序的四个阶段:开发与维护、启动、运行和关闭。...如果启动时检查失败,那么应该平稳地退出程序并给出相应的错误信息。 2.在应用程序退出时还原所有设置。...3.构建或打开动态用户接口元素,包括特定应用程序的功能区选项卡、Excel应用程序级的设置、工作簿模板,等等。 4.注册用户自定义函数。...4.调用其他加载宏中的代码。如果引用了其他加载宏,就可以通过名称来调用其标准模块中的公有过程。当然,如果不使用引用方式,也可以通过Application.Run函数来实现。 5.提供其他服务。...也就是说,要删除在应用程序启动阶段所创建的各种元素,包括功能区选项卡或元素、特定应用程序的工作表、特定的快捷菜单。 2.注销所有的用户自定义函数。

    2K20

    Linux进程控制

    执行情况:返回了非空的FILE*指针,则可认为函数执行成功;返回了NULL,则可认为函数执行失败,需要进一步检查错误的原因(errno变量或调用perror()函数)。...2.4.2错误码和退出码的区别 退出码是进程结束时给系统返回的状态码,通常简单地表示成功或失败 错误码是函数调用或操作失败时的具体错误信息,提供了更详细的错误类型 要是本身你给退出码定义了详细的分类..._exit()不会自动执行exit()函数所执行的清理工作,需要确保在调用它之前,手动处理所有必要的清理工作,然后向操作系统返回退出码。...返回值:调用成功,返回收集到的子进程的PID,同时获取到了子进程的退出状态码;调用失败,返回-1,并设置错误码以指示错误的原因;如果为非阻塞等待,waitpid调用成功且没有收集到已结束的子进程,则返回...exec函数的行为:仅在调用它的进程中生效,而不会影响到父进程。由于exec函数是在子进程中调用的,因此只有子进程的映像被替换,父进程的映像保持不变,父进程继续执行其后续代码。

    55410

    【Linux】进程控制

    只有退出码为0时,表示成功执行,且执行的结果正确,其他退出码均表示执行失败或结果不符合预期,原因各异。...实际上,exit的底层调用了_exit,不过在退出之前做了一系列清理工作,例如刷新 I/O 缓冲区,确保所有的输出数据都被写入到相应的文件或终端、关闭文件描述符、间接释放动态分配的内存等。...注意:调用wait等待子进程时,如果此时子进程还在执行自己的程序,并未退出,那么父进程就会一直阻塞在wait的调用处,直到子进程退出,再执行后续代码。...返回值:如果回收成功,返回子进程的PID。如果失败(例如没有对应的pid),返回 -1。如果第三个参数传WNOHANG并且子进程还未退出,返回0。 注意事项 1....首先介绍一下它们的返回值: 如果替换成功,直接执行新代码,后续的原代码已经被替换,不再执行,因此没有返回值。 如果替换失败,返回 -1。

    33110

    【Linux进程#7】:进程信号(再谈信号保存和信号捕捉)

    -- > 有可能,如下演示: 分析: 静态变量特性 :静态变量只在第一次进入函数时初始化,后续调用时保持其值。...执行路径 :由于 handler 只被调用一次(后续的 SIGINT 被阻塞),cnt 仅在第一次调用 handler 时被递增一次,之后的循环中 cnt 的值始终为 1。...结果是:main函数 和 sighandler先后 向链表中插入两个节点,而最后只有一个节点真正插入链表中了 像上例这样,insert函数被不同的控制流程调用,有可能在第一次调用还没返回时就再次进入该函数...信号,该信号的默认处理动作是忽略,父进程可以自定义 SIGCHLD 信号的处理函数,这样父进程只需专心处理自己的工作,不必关心子进程了,子进程 终止时会通知父进程,父进程在信号处理函数中调用 wait...请编写一个程序完成以下功能:父进程 fork 出子进程,子进程调用 exit(2) 终止,父进程自定义 SIGCHLD 信号的处理函数,在其中调用 wait 获得子进程的退出状态并打印。

    30210
    领券