VBA如何修改网址下载财务报表




可以这么理解全球信息网,各国各地有数不清的服务器,每台服务器有许多网页,千千万万网页用同一套标准格式编辑,每页标上门牌号码(网址),浏览器搜寻到网址,超链接传送请求给某服务器,服务器接受请求,如果网络信道顺畅,立即回传网页数据,个人计算机的浏览器经过解析,呈现图文网页在屏幕上。这其中,网址如同浩翰图书馆里的编号和页码,如果想要捞取因特网里的数据,必须先解析数据库网址。以下,就公开信息观测站的公告财务报表为例,分享Excel的VBA于其中妙用:

一、公开信息观测站IFRS单一公司案例文件预览及下载,3323的105年第1季 IFRS 合并财务报表预览,「http://mops.twse.com.tw/server-java/t164sb01?step=1&CO_ID=3323&SYEAR=2016&SSEASON=1&REPORT_ID=C」。

公开信息观测站IFRS单一公司案例文件预览及下载

二、「录制宏」:「您执行的所有命令将储存至宏,您可以再次播放宏。」简单理解,就是Excel把操作以程序形式记录起来,可以参考《会计人的Excel小教室》第一章第四节。

录制宏

三、取得网页资料,先前有介绍过做法。

取得网页资料

四、下载完后,「停止录制」,注意到这里是「105年第一季」。接着在此「开发人员」功能页签中,点击「Visual Basic」。

停止录制

五、进入VBA编辑器,双击「Module1」,这么一大段天书,便是刚才所录制的Excel操作,下面参数部份也许看不懂,但是开头的地方该能看得懂:

进入VBA编辑器

With ActiveSheet.QueryTables.Add(Connection:=
“URL;http://mops.twse.com.tw/server-java/t164sb01step=1&CO_ID=3323&SYEAR=2016&SSEASON=1&REPORT_ID=C”, Destination:=Range(“$A$1″))
.Name=”t164sb01step=1&CO_ID=3323&SYEAR=2016&SSEASON=1&REPORT_ID=C”

其中「 _」是VBA程序换行码,考虑文章呈现,部份我作了修改,自己实际试作的读者,以自己Excel档案的VBA程序为准。

六、关键词既然是「ID=3323&SYEAR=2016&SSEASON=1」,照样造句,依需要修改,例如:「ID=3323&SYEAR=2016&SSEASON=2」。

ID=3323&SYEAR=2016&SSEASON=1

七、再次执行宏,成功下载第二季的财务报告。

再次执行宏

很多道理一贯相通。透过网址取得网页数据,在这篇文章是修改VBA程序,以先前文章介绍过的Excel指令来说,是修改窗口字段中的网址,能够达到相同效果。更进一步说,平常浏览器阅读网页,也可以直接在网址列把「1」改成「2」。重点是,这些以期间数据为主的网站,其网址有一定规则可循,像这篇文章的「公开信息观测站IFRS单一公司案例文件」,网址一长串,至少有三个地方很明显:股票代码、年度、季度,掌握这些规律,是批次取得大数据的关键,其中涉及到的技术较为复杂,留待日后一一介绍。


有系統、全面性的學習Excel職場應用,:會計人的Excel小教室PressPlay頻道


當前文章分類:
VBA网络爬虫