Excel vba编程实现ftp下载并打开自动运行

news/2024/10/22 8:39:50/

0x00 背景

最近因为疫情的原因憋在家实在无聊,搞了一下excel的宏编程

excel使用vba语言实现宏,虽然没学过 但是大致的代码可以看懂 就搞了一个打开excel自动运行宏 在ftp服务器上下载文件到本地的小脚本

0x01 配置

首先需要打开excel的宏,在excel的  开始-》选项-》信任中心 -》宏设置 -》启用所有宏 如下图

配置好宏以后,就可以开始宏编程了。 

在开发工具选项中 选择Visual Basic进入宏编程界面

进入编程界面后双击左侧的 Thisbook,进入到当前工作表的编程模块

最后设置宏的自动启动,在该excel打开时,自动运行宏。 在右侧的选项卡中 选择open

至此,excel的设置完成。

0x02 vba实现ftp下载 

在网上搜了好久才找到。一开始打算采用访问dos的方式,然后逐步传递命令。但发现excel不是单纯的将字符串传递到dos中运行,而是直接调用dos运行,这就导致无法传递单个字符到dos中。如果运行aaa命令会直接返回“无效命令”。

但还是记录下调用命令行的方法,万一以后有用呢=。=

Sub main()Shell "cmd /k ping 127.0.0.1", 1
End Sub

代码很简单,直接调用内置的接口函数即可。 前面表示字符串命令 后面1代表运行dos的黑窗口 0代表不运行(这个好!)

但是 这种方式不支持在dos中可以用 命令1 && 命令2 的方式  不知道为什么。

下面是我找到的方法。

Sub main()Dim env_addr, env_user, env_passwd, localftp, ftpfile, cfgfile As Stringenv_addr = "192.168.230.129"env_user = "用户名"env_passwd = "密码"localftp = "D:\"ftpfile = "/123.txt"cfgfile = "D:\1123.txt"If Dir(ftpfile) <> Empty ThenMsgBox "文件已成功下载"Exit SubEnd IfOpen cfgfile For Output As #1Print #1, "open " & env_addrPrint #1, env_userPrint #1, env_passwdPrint #1, "lcd " & localftpPrint #1, "bin"Print #1, "prompt"Print #1, "get " & ftpfilePrint #1, "bye"Close #1Shell "ftp -s:" & cfgfile, 1
End Sub

其中前三个参数不用多说

localftp 是本地的存储目录

ftpfile 是要获取的ftp服务器上的路径及文件名

cfgfile 为当前的配置文件 即要进行的一系列命令集

下面的open既是创建命令集的过程

最后通过Shell的形式运行命令。

 


http://www.ppmy.cn/news/567244.html

相关文章

Excel 2010 VBA 入门 126 批量设置控件属性

目录 题 码 CaIIByName函数 使用CallByName函数获取子对象 使用CaIIByName函数批量修改对象的属性 灵活使用自定义过程 题 对于多个在Excel工作表中的ActiveX控件&#xff0c;可以批量设置其属性&#xff1f;如图&#xff0c;该表为某公司使用的技能培训出题考试系统&…

工具及方法 - Excel插件XLTools

立即开始使用XLTools XLTools是一个功能强大的Excel插件&#xff0c;专为商业用户设计。它将帮助您在Excel中更快、更容易地准备数据、跟踪变化和实现任务自动化。 无论您是刚刚开始免费试用还是购买了终身许可证&#xff0c;本介绍指南将帮助您将XLTools用于工作。 第1步. 在…

Excel 2010 VBA 入门 121 ActiveX控件

目录 ActiveX控件 Excel中常用的ActiveX控件 编辑ActiveX控件 通过代码访问ActiveX控件 工作表中窗体&#xff08;表单&#xff09;控件和ActiveX控件的区别 ActiveX控件 ActiveX控件是自动化组件对象&#xff0c;该对象可通过嵌入的方式添加至其他应用程序中&#xff0c;…

自动化办公 02_1 Excel_XLWings

Python Excel 自动化之 XLWings 1.模块基本介绍与使用2.xlwings模块实战1.基础语法一览1)打开关闭Excel程序2)工作簿相关操作&#xff08;理解成excel文件&#xff09;3&#xff09;sheet相关操作&#xff08;理解成工作表&#xff09;4&#xff09;单元格相关操作&#xff08;…

spire.xls.free-3.9.1和spire.office.free-3.9.0的下载及使用

链接:https://pan.baidu.com/s/1AeCs3FRZJ0Hhm0mLpc6sRQ 密码:vdbf maven引入配置&#xff1a; <repositories><repository><id>com.e-iceblue</id><url>https://repo.e-iceblue.cn/repository/maven-public/</url></repository> &…

表格控件DHTMLX Spreadsheet 5.0版本重大更新,新增搜索和过滤数据、合并单元格、自动宽度功能

DHTMLX Spreadsheet是用纯JavaScript编写的开源电子表格小部件&#xff0c;可让您快速在网页上添加类似于Excel的可编辑数据表。高度可定制的JavaScript电子表格组件&#xff0c;具有优雅的Material样式&#xff0c;可安全、方便地编辑和格式化数据。本文给大家讲解DHTMLX Gant…

电子表格控件SpreadJS V14.0 Update2全新来袭——增强表格编辑器

SpreadJS 是一款基于 HTML5 的纯前端电子表格控件&#xff0c;兼容 450 种以上的 Excel 公式&#xff0c;凭借其 “高性能、跨平台、与 Excel 高度兼容”的产品特性&#xff0c;备受以华为、苏宁易购、天弘基金等为代表的企业用户青睐。SpreadJS 为用户带来亲切的 Excel 使用体…

用Excel实时看股票数据--vba(无需安装任何软件)

环境&#xff1a;Win7Excel2016&#xff08;测试win10、wps也适用&#xff09; 采用的是腾讯提供的股票接口&#xff0c;例如&#xff1a;http://qt.gtimg.cn/qsh600016&#xff0c;返回输入如下&#xff1a; v_sh600016"1~民生银行~600016~8.58~8.68~8.67~886218~499700~…