VBA下载二进制文件,文本读写

这篇具有很好参考价值的文章主要介绍了VBA下载二进制文件,文本读写。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里使用了vba如下两个对象:

Microsoft.XMLHTTP:文件读写,可读写二进制,可指定编码,对于utf-8编码文本文件使用FSO的TextStream对象打开,读取到的内容可能会出现乱码,可以使用该对象打开;前期绑定添加引用:Microsoft ActiveX Data Objects 2.8

Microsoft.XMLHTTP:发送请求并获得返回,前期绑定添加:Microsoft XML v6.0

下载案例如下:下载火影忍者的图片到当前工作簿目录下
图片链接为:https://i0.hdslb.com/bfs/article/cb84523da172b11eb6222eb12f3c1737953f0359.jpg

Sub photo_download()
' 下载图片

Dim X As Object
Dim ASTeam As Object
Dim content() As Byte

Set X = CreateObject("Microsoft.XMLHTTP")
Set ASTeam = CreateObject("ADODB.Stream")

With X
    .Open "get", "https://i0.hdslb.com/bfs/article/cb84523da172b11eb6222eb12f3c1737953f0359.jpg", False
    .send
    Do Until .readystate = 4
        DoEvents
    Loop
    content = .responsebody   ' 请求返回对象
End With
With ASTeam
    .Type = 1 ' 二进制类型
    .Mode = 3 ' 可读可写
    .Open   '打开文件
    .write content    ' 文件写入
    .savetofile ThisWorkbook.Path & "/火影忍者.jpg"    ' 文件另存
    .Close   ' 关闭
End With

MsgBox "download done"
End Sub

关于ADODB.Stream的几个属性说明:

  • Type属性:读写文本文件用adTypeText(2),读写二进制文件用adTypeBinary(1)。
  • Mode属性:使用adModeReadWrite(3),可读写。
  • CharSet属性:指定文件编码,要根据文本文件的编码来设定。比如utf-8

如果使用后期绑定的方式,该属性只能通过枚举常量的等价数字定义,比如type的2表示读写文本文件

ADODB.Stream文本几个方法:
LoadFromFile:加载文本文件
ReadText:读取,ReadText(10)表示读取10个字符,不带数字表示读取文本剩余所有内容:ReadAll
close:同二进制文件,表示关闭对象,读写后关闭
WriteText:写入记录行,chr(10)表示换行
SaveToFile:保存为文本文件

文件读写样例文章来源地址https://www.toymoban.com/news/detail-595527.html

Sub file_read_write()
' 文本读写案例
' Dim ASteam As ADODB.Stream    ' 前期引用绑定,直接声明对象即可
Dim ASteam As Object
dim txt_path,s1,s2 as String 

Set ASteam = CreateObject("ADODB.Stream")    ' 创建对象
txt_path = ThisWorkbook.Path & "/文本文件.txt"     ' 文本文件路径
With ASteam
    ' 文件写入
    .Type = 2  ' adTypeText   ' 指定类型
    .Mode = 3  ' adModeReadWrite  ' 可读写
    .Charset = "utf-8"  ' 指定编码格式
    .Open    ' 打开
    .WriteText "写入一行数据"
    .WriteText Chr(10)   ' 写入换行符
    .WriteText "写入第二行数据"
    .SaveToFile txt_path, adSaveCreateOverWrite ' 文件如果存在则覆盖
    ' 文件读取
    .LoadFromFile (txt_path)
    s1 = .ReadText(3)
    s2 = .ReadText
    Debug.Print s1, s2
    .Close
End With

End Sub

到了这里,关于VBA下载二进制文件,文本读写的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++文件操作->文本文件(->写文件、读文件)、二进制文件(->写文件、读文件)

    #includeiostream using namespace std; #include fstream//头文件包含 //文本文件 写文件 void test01() {     //1.包含头文件  fstream     //2.创建流对象     ofstream ofs;     //3.指定打开方式     ofs.open(\\\"test.txt\\\", ios::out);     //4.写内容     ofs \\\"姓名:张三\\\" endl;     ofs \\\"性别:男\\\" endl;     

    2024年02月20日
    浏览(29)
  • 通过 Blob 对二进制流文件下载实现文件保存下载

    原理 : 前端将二进制文件做转换 实现下载:请求后端接口-接收后端返回的二进制流(通过二进制流( Blob )下载, 把后端返回的二进制文件放在 Blob 里面)-再通过 file-saver 插件保存 需求背景 业务:下载模板文件 页面上使用: 保存文件: 发起请求通用方法(更改 axios 的 re

    2024年02月09日
    浏览(41)
  • 07-2_Qt 5.9 C++开发指南_二进制文件读写(stm和dat格式)

    除了文本文件之外,其他需要按照一定的格式定义读写的文件都称为二进制文件 。每种格式的二进制文件都有自己的格式定义,写入数据时按照一定的顺序写入,读出时也按照相应的顺序读出。例如地球物理中常用的 SEG-Y 格式文件,必须按照其标准格式要求写入数据才符合

    2024年02月13日
    浏览(31)
  • js使用xlsx生成二进制文件用于上传(不下载)

    业务中经常会处理各种数据,本文介绍了前端通过 xlsx 库将数据转换为 excel 文件用于上传的实现。

    2024年02月13日
    浏览(43)
  • C语言--文件操作详解(2)(文本文件和二进制文件,文件读取结束的判定,用函数进行文件的拷贝,文件缓冲区)

    本篇文章主要介绍了文本文件和二进制文件,文件读取结束的判定,如何使用函数进行文件的拷贝,文件缓冲区的相关知识。 以及具有保存功能的八功能通讯录的源码。 据数据的组织形式,数据文件被称为文本文件或者二进制文件。 ①数据在内存中以二进制的形式存储,如

    2024年02月08日
    浏览(38)
  • vue 后端返回二进制流-前端通过blob对象下载文件-图片

    前言 在实际开发中我们经常会遇见下载文件的场景,比如下载合同,下载文件 下载文件有2种方式,一种是后端返回二进制流,前端通过blob对象接受根据不同类型下载 还有一种把地址直接在浏览器新窗口打开浏览器打开pdf可以预览和下载,其他文件直接下载 但不管是那种方

    2024年02月05日
    浏览(55)
  • 解决前端二进制流下载的文件(例如:excel)打不开的问题

    1. 现在后端请求数据后,返回了一个二进制的数据,我们要把它下载下来。 这是响应的数据: 2. 这是调用接口的地方:  使用了file-saver插件:github地址 3. 这时如果直接下载的话,打开文件就会失败 4. 这时就必须要在调接口的时候做一下处理 responseType: \\\'arraybuffer\\\', 这个必须

    2024年02月04日
    浏览(62)
  • flask.send_file实现文件下载、文件传输和二进制流传输

    在使用flask框架时,我们有时需要向前端传输文件。或者需要用户访问一个url时直接下载文件。这时可以使用flask.send_file()函数来实现相关的操作。 path_or_file:需要发送的文件路径或者二进制文件对象 mimetype:文件的MIME类型,如果没有设置,会尝试根据文件名进行检测 as_at

    2024年02月12日
    浏览(34)
  • vue如何通过$http的post方法请求下载二进制的Excel文件

    使用此function 使用此function, test.vue instanceName: \\\"exportExcel\\\",导出excel文件 instanceName: \\\"downloadLog\\\",下载.log后缀的txt文件 封装接口 代码中使用:

    2024年01月18日
    浏览(37)
  • uniapp开发小程序-pc端小程序下载后端接口的二进制流文件

    fileName 包含文件名+后缀名,比如 test.png 这种格式 api.DownloadTmtFile 后端接口返回的是文件的二进制流 值得注意的是,微信开发者工具中是测试不了 wx.saveFileToDisk 的,需要真机或者体验版测试

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包