vba上传指定文件ftp服务器

文章目录

    • 一、需求分析:
    • 二、操作流程:
      • 2.1 【开发工具】-【宏】
      • 2.2 【宏】-【编辑】
      • 2.3 【把脚本复制进去】
      • 2.4 脚本如下
      • 2.5 修改位置
        • 2.5.1 修改sheet名称和表格一致
        • 2.5.2 修改Cells(2,3)
        • 2.5.3 修改4 to 100
        • 2.5.4 修改Cells(i,3)
        • 2.5.5 修改发ftp信息
        • 2.5.6 保存脚本
    • 三、添加上传按钮
    • 效果图:

一、需求分析:

  • 在excel表格中指定文件路径,将指定文件上传ftp服务器

二、操作流程:

2.1 【开发工具】-【宏】

在这里插入图片描述

2.2 【宏】-【编辑】

在这里插入图片描述

2.3 【把脚本复制进去】

在这里插入图片描述

2.4 脚本如下

Sub 按钮1_Click()
Dim i, str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, d
Dim myarray()
On Error Resume Next
Set mysheet1 = ThisWorkbook.Worksheets("sheetName自定义")
Set fs = CreateObject("Scripting.FileSystemObject")'获取本地路径
If mysheet1.Cells(2, 3) <> "" Then
str3 = Replace(Sheet1.Cells(2, 3), "/", "\")
str3 = Trim(str3)
If Right(str3, 1) <> "\" Then
str3 = str3 & "\"
'MsgBox str6
End If
End If'循环扫描文件名,生成一个只有文件名字的字符串
For i = 4 To 100
If mysheet1.Cells(i, 3) <> "" Then
str1 = Replace(Sheet1.Cells(i, 3), "/", "\")
str1 = Trim(str1)
str4 = str3 & str1
str5 = "Echo mput " & Chr(34) & str4 & Chr(34) & " >>ftp.up"
str9 = str9 & " " & str5 'str9所有要上传的文件
End If
Next
'MsgBox str9'上传
Set fsd = CreateObject("Scripting.FileSystemObject")
str10 = str3 & "1.bat" '脚本
str11 = "Echo open IP地址>ftp.up" '远程路径
str12 = "Echo 用户名>>ftp.up" '账号
str13 = "Echo 密码>>ftp.up" '密码Set fid = fsd.CreateTextFile(str10, True) '后面开始写脚本
fid.WriteLine ("@Echo Off ") '开远程
fid.WriteLine (str11)
fid.WriteLine (str12)
fid.WriteLine (str13)
fid.WriteLine ("Echo Cd .\User >>ftp.up")
fid.WriteLine ("Echo binary>>ftp.up")
fid.WriteLine ("Echo prompt >>ftp.up")
fid.WriteLine ("Echo lcd " & Chr(34) & str3 & Chr(34) & ">>ftp.up")
fid.WriteLine (str9)
fid.WriteLine ("Echo bye>>ftp.up")
fid.WriteLine ("FTP -s:ftp.up")
fid.WriteLine ("del ftp.up /q")
fid.Close
str16 = "cmd.exe /c " & str10 '运行脚本
'MsgBox str16
Shell str16MsgBox "传输完成"
End Sub

2.5 修改位置

2.5.1 修改sheet名称和表格一致

在这里插入图片描述

2.5.2 修改Cells(2,3)

  • 指的是地2行
    在这里插入图片描述

2.5.3 修改4 to 100

  • 4指的是从第4行的开始
  • 100指的是从第100行开始
    在这里插入图片描述

2.5.4 修改Cells(i,3)

  • i指的是行,3指的是第几列

2.5.5 修改发ftp信息

  • ip地址
  • 用户名
  • 密码

在这里插入图片描述

2.5.6 保存脚本

在这里插入图片描述

三、添加上传按钮

  • 【开发工具】-【插入表单控件】
    在这里插入图片描述
    -【指定宏】
    在这里插入图片描述
    -【选择指定的宏名】
    在这里插入图片描述
  • 【双击修改按钮名称】

效果图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

校验版本

Sub 文件上传ftp服务器()
Dim i, str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, d
Dim myarray(), MyFile As Object
Set MyFile = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
Set mysheet1 = ThisWorkbook.Worksheets("sheetName自定义")
Set fs = CreateObject("Scripting.FileSystemObject")'获取本地路径
If mysheet1.Cells(2, 3) <> "" Then
str3 = Replace(Sheet1.Cells(2, 3), "/", "\")
str3 = Trim(str3)
If Right(str3, 1) <> "\" Then
str3 = str3 & "\"
'MsgBox str6
End If
End If'循环扫描文件名,生成一个只有文件名字的字符串
For i = 4 To 100
If mysheet1.Cells(i, 3) <> "" Then
str1 = Replace(Sheet1.Cells(i, 3), "/", "\")
str1 = Trim(str1)
str4 = str3 & str1If MyFile.FileExists(str4) = True Then
Else
MsgBox str4 & " 文件不存在"
End Ifstr5 = "Echo mput " & Chr(34) & str4 & Chr(34) & " >>ftp.up"
str9 = str9 & " " & str5 'str9所有要上传的文件
End If
Next
'MsgBox str9'上传
Set fsd = CreateObject("Scripting.FileSystemObject")
str10 = str3 & "1.bat" '脚本
str11 = "Echo open ip地址>ftp.up" '远程路径
str12 = "Echo 用户名>>ftp.up" '账号
str13 = "Echo 密码>>ftp.up" '密码Set fid = fsd.CreateTextFile(str10, True) '后面开始写脚本
fid.WriteLine ("@Echo Off ") '开远程
fid.WriteLine (str11)
fid.WriteLine (str12)
fid.WriteLine (str13)
fid.WriteLine ("Echo Cd .\User >>ftp.up")
fid.WriteLine ("Echo binary>>ftp.up")
fid.WriteLine ("Echo prompt >>ftp.up")
fid.WriteLine ("Echo lcd " & Chr(34) & str3 & Chr(34) & ">>ftp.up")
fid.WriteLine (str9)
fid.WriteLine ("Echo bye>>ftp.up")
fid.WriteLine ("FTP -s:ftp.up")
fid.WriteLine ("del ftp.up /q")
fid.Close
str16 = "cmd.exe /c " & str10 '运行脚本
'MsgBox str16
Shell str16MsgBox "传输完成"
End Sub

无校验版本

Sub 按钮1_Click()
Dim i, str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, d
Dim myarray()
On Error Resume Next
Set mysheet1 = ThisWorkbook.Worksheets("sheetName自定义")
Set fs = CreateObject("Scripting.FileSystemObject")'获取本地路径
If mysheet1.Cells(2, 3) <> "" Then
str3 = Replace(Sheet1.Cells(2, 3), "/", "\")
str3 = Trim(str3)
If Right(str3, 1) <> "\" Then
str3 = str3 & "\"
'MsgBox str6
End If
End If'循环扫描文件名,生成一个只有文件名字的字符串
For i = 4 To 100
If mysheet1.Cells(i, 3) <> "" Then
str1 = Replace(Sheet1.Cells(i, 3), "/", "\")
str1 = Trim(str1)
str4 = str3 & str1
str5 = "Echo mput " & Chr(34) & str4 & Chr(34) & " >>ftp.up"
str9 = str9 & " " & str5 'str9所有要上传的文件
End If
Next
'MsgBox str9'上传
Set fsd = CreateObject("Scripting.FileSystemObject")
str10 = str3 & "1.bat" '脚本
str11 = "Echo open ip地址>ftp.up" '远程路径
str12 = "Echo 用户名>>ftp.up" '账号
str13 = "Echo 密码>>ftp.up" '密码Set fid = fsd.CreateTextFile(str10, True) '后面开始写脚本
fid.WriteLine ("@Echo Off ") '开远程
fid.WriteLine (str11)
fid.WriteLine (str12)
fid.WriteLine (str13)
fid.WriteLine ("Echo Cd .\User >>ftp.up")
fid.WriteLine ("Echo binary>>ftp.up")
fid.WriteLine ("Echo prompt >>ftp.up")
fid.WriteLine ("Echo lcd " & Chr(34) & str3 & Chr(34) & ">>ftp.up")
fid.WriteLine (str9)
fid.WriteLine ("Echo bye>>ftp.up")
fid.WriteLine ("FTP -s:ftp.up")
fid.WriteLine ("del ftp.up /q")
fid.Close
str16 = "cmd.exe /c " & str10 '运行脚本
'MsgBox str16
Shell str16MsgBox "传输完成"
End Sub

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

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

相关文章

云存储精华问答 | 云存储是如何工作的?

云存储是一种网上在线存储&#xff08;英语&#xff1a;Cloud storage&#xff09;的模式&#xff0c;即把数据存放在通常由第三方托管的多台虚拟服务器&#xff0c;而非专属的服务器上。今天就让我们来看看关于云陈存储的精华问答吧。1Q&#xff1a;云存储是如何分类的&#x…

mysql如何实现管理权限分离_基于SpringCloud+vue(ElementUI)+mySQL前后端分离设计之--搭建权限管理系统...

权限图&#xff1a;pom.xmlxsi:schemaLocation"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">4.0.0com.serverauthority0.0.1-SNAPSHOTjarauthorityauthority project for Spring Bootorg.springframework.bootspring-boot-s…

刚刚,Python内幕被爆出!老码农:没控制住,心态已崩!

作为一名老码农&#xff0c;我的心这次凉透了&#xff01;事情起因很简单&#xff1a;前天我晚上正在全国最大的同性组织某Hub上浏览时候&#xff0c;发现这样的一条信息&#xff1a;Python 116K 超过 C、JS, 薪酬排行第一&#xff08;最大招聘网站Indeed.com数据&#xff09;噗…

vba上传文件到ftp服务器指定目录下面

vba上传文件到ftp服务器指定目录 脚本形式 文章目录1. 测试版本无校验&#xff1a;2. 测试版本有检验3. 文件不存在校验版本4. 文件不存在校验必填项校验版本1. 测试版本无校验&#xff1a; Sub 按钮1_Click() Dim i, str1, str2, str3, str4, str5, str6, str7, str8, str9, s…

分布式存储首选,浪潮商用机器FP5466G2服务器测评分析

戳蓝字“CSDN云计算”关注我们哦&#xff01;如今随着信息时代的到来&#xff0c;以云计算、大数据、人工智能为代表的新晋技术与应用实现了爆发式的增长&#xff0c;随之而来促生了原本存在于各个行业的大量业务应用中PB级&#xff0c;甚至EB级的海量版数据信息&#xff0c;这…

pipelines mysql_Scrapy爬取豆瓣图书数据并写入MySQL

介绍本篇涉及的内容主要是获取分类下的所有图书数据&#xff0c;并写入MySQL准备Python3.6、Scrapy、Twisted、MySQLdb等演示代码一、创建项目scrapy startproject BookSpider #创建项目scrapy genspider douban book.douban.com #创建豆瓣爬虫二、创建测试类(main.py)from scr…

独行速众行远,BitTitan携手世纪互联蓝云助力用户数据完美迁移

戳蓝字“CSDN云计算”关注我们哦&#xff01;近日&#xff0c;Saas解决方案提供商BitTitan宣布&#xff0c;将拓展与世纪互联蓝云的合作&#xff0c;双方将在中国的云服务市场上线BitTitan广受欢迎的MigrationWiz用户数据迁移套装方案。BitTitan是一家致力于让IT专业人员通过自…

Kafka精华问答 | 为什么要用Message Queue?

Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性&#xff0c;但是在设计实现上完全不同&#xff0c;此外它并不是JMS规范的实现。今天就让我们一起来看看关于Kafka 的精华问答吧。1Q&#xff1a;Kafka的主要功能是什么&#xff1f;…

360深度实践:Flink与Storm协议级对比

戳蓝字“CSDN云计算”关注我们哦&#xff01;文 | 张馨予 来源 | 高可用架构作者 张馨予&#xff0c;360 大数据计算平台负责人。北京邮电大学硕士&#xff0c;2015年加入360系统部&#xff0c;一直致力于公司大数据计算平台的易用性、稳定性和性能优化的研发工作。目前主要负…

layui获得列表json数据_golang实战开发之博客功能篇:文章列表的读取与展示和分类筛选展示处理...

前面我们介绍了文章详情页面的展示的逻辑代码实现&#xff0c;这一节&#xff0c;我们将继续讲解文章列表的读取和展示、文章根据分类进行筛选、最新文章、热门文章等的调用处理逻辑。首先&#xff0c;我们先编写文章列表页的前端代码。这里&#xff0c;我们文章采用类似WordPr…

“智企云中享“,首届SAP中国云大会召开

2019 年 6 月 5 日&#xff0c;上海讯— 今日&#xff0c;首届SAP云大会在上海盛大召开。作为SAP云计算家族在中国的首秀&#xff0c;大会全面呈现了SAP云业务的战略、产品、商业场景、浸入式体验。作为体验管理领域的领导者&#xff0c;SAP以覆盖企业运营全价值链的云服务解决…

SpringBoot入门到精通_第7篇 _必知必会总结

接上一篇&#xff1a;SpringBoot入门到精通_第6篇 _必知必会

容器精华问答 | 如何进行跨机器的Container做Link ?

戳蓝字“CSDN云计算”关注我们哦&#xff01;云计算的发展日新月异&#xff0c;新技术层出不穷&#xff0c;尤其容器技术自2013年Docker容器问世以来一路高歌猛进红遍大江南北&#xff0c;与虚拟机相比&#xff0c;容器更显优势&#xff0c;有着更轻量、更快捷、占用资源更少&a…

腾讯也有“神盾局”?秀出“技术肌肉”就靠TA了……

戳蓝字“CSDN云计算”关注我们哦&#xff01;技术头条&#xff1a;干货、简洁、多维全面。更多云计算精华知识尽在眼前&#xff0c;get要点、solve难题&#xff0c;统统不在话下&#xff01;漫威的超级英雄世界中&#xff0c;“神盾局”一直凭借着不少的先进武器装备&#xff0…

大话云存储,这个“对象”可能无处不在

戳蓝字“CSDN云计算”关注我们哦&#xff01;文 | pasca来源 | 蛋蛋团&#xff08;ID&#xff1a;dandan_tuan&#xff09;大纲前言1、Who&#xff1a;谁使用对象存储2、What&#xff1a;对象存储是什么3、Why&#xff1a;为什么他们会使用对象存储4、how to do:应用场景分析5、…

振奋!中国正式进入5G元年;华为5G俄罗斯签下大单;王坚进入工程院院士第二轮评审...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周五第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

企业实战_01_Redis下载/安装/运行/停止

文章目录一、Redis下载&#xff1a;官方&#xff1a;https://redis.io/二、Redis安装&#xff1a;2.1. 上传redis软件服务器2.2. 解压redis2.3. 进入redis目录&#xff0c;进行redis安装2.4. 执行redis安装测试&#xff1a;2.5. 安装异常处理三、redis 启动、停止3.1. 进入src目…

关于5G,你必须知道的事儿……

戳蓝字“CSDN云计算”关注我们哦&#xff01;文 | 小枣君来源 | 鲜枣课堂什么是5G 5G&#xff0c;就是5th Generation Mobile Networks&#xff08;第五代移动通信网络&#xff09;&#xff0c;也可以称为5th Generation Wireless Systems&#xff08;第五代无线通信系统&a…