VBAとVBScriptであるサイトのpdfを一括ダウンロードしてみました;用VBA和VBScript对于网站上的pdf文件进行批量下载的比较

VBA

■ネットで中国語の教材を54冊をダウンロードしたいです

https://human.sankei.co.jp/material/chineseL1/L1-01.pdf
https://human.sankei.co.jp/material/chineseL1/L1-02.pdf
……
https://human.sankei.co.jp/material/chineseL1/L1-54.pdf

URL区別は最後の数字だけ違います。
上司から仕事の依頼があって、上記の54ファイルをダウンロードし、ローカルPCに保存してください。

URL只有最后两个数字有区别。一直从01到54。
目前有个任务是领导让你把这54份文档下载下来,保存好交给他。

■中国語版音声説明

批量下载网上的资料,你还在一件一件操作吗?如果只是10份文档,也许你还能忍受。那如果是500份文档,还这样操作的话,工作和人生实在也太內卷了。把机械性的工作交给计算机器去做吧,多出来的时间我们让核心业务升级,或者去旅游,去生活,去陪伴家人,让时间和生命有所值得。用VBS和VBA同时展示瞬间完成54份文档下载。如果没有Excel软件的话,使用VBS即可完成。

■日本語版音声説明

ネットで資料をダウンロードするときに、 まだ1件1件ダウンロード操作していますか。
10ファイルこだったら、多分まだ我慢できるだと思いますが、500ファイルだったら、まだ同じく手作業しますか。そしたら仕事や人生がちょっと時間の無駄だと思いませんか。機械的な仕事はパソコンに任せばいいのかなと思います。余った時間はお客様ともっと近くにして、本当のコア業務を進化させるべきではないでしょうか。残業をなくして、旅行に行ったり、生活に時間をかけたり、家族と一緒にいる時間を増やしててもあるのではないでしょうか。もっと時間と命の価値をあげましょう。VBSとBA で同時にネットから54ファイルをダウンロードし、展示してみます。 Excel アプリをインストールされてなければ、VBSでも問題がありません。VBSはどういうものかって言うと本当にテキストファイルでプログラムを書いてファイルの拡張子を. VBSに変更すれば実行できるアプリになります。

■中国以外の地域はYoutube動画公開

■中国区域读者未来可以参照B站视频。目前尚未开通。敬请关注!

■VBSコード/VBS代码

ローカルPCにフォルダD:\testを作成するのが前提です。
本地创建以下文件夹D:\test

Dim Application
Set Application=CreateObject("Excel.Application")

Dim i
Dim folder
Dim url
Dim file
Dim temp

url = "https://human.sankei.co.jp/material/chineseL1/L1-01.pdf"
folder = "D:\test\" '保存フォルダ(最後は\に)

For i = 1 To 54
      
    If i = 1 Then
        'Do nothing
    Else
    
        temp = Mid(Mid(url, InStrRev(url, "-") + 1), 1, 2)
        If (Mid(temp, 1, 1) = 0 And Mid(temp, 2, 1) < 9) Then
            temp = Mid(temp, 1, 1) & Mid(temp, 2, 1) + 1
        Else
            temp = temp + 1
        End If
        
        
        url = Mid(url, 1, InStrRev(url, "-")) & temp & Mid(Mid(url, InStrRev(url, "-") + 1), 3, 4)
    End If
    
    file = Mid(url, InStrRev(url, "/") + 1) 'ファイル名(urlの最後の"/"の後ろ(???.pdf))
    Application.ExecuteExcel4Macro("CALL(""urlmon"",""URLDownloadToFileA"",""JJCCJJ"",0,"""&url&""","""&folder & file&""",0,0)")

    
Next

■VBAコード/VBA代码

ローカルPCにフォルダD:\testを作成するのが前提です。
本地创建以下文件夹D:\test

Option Explicit
Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long 'API宣言

Sub sample2()
Dim i As Integer
Dim folder As String
Dim url As String
Dim file As String
Dim temp As String

url = "https://human.sankei.co.jp/material/chineseL1/L1-01.pdf"
folder = "D:\test\" '保存フォルダ(最後は\に)

For i = 1 To 54
      
    If i = 1 Then
        'Do nothing
    Else
    
        temp = Mid(Mid(url, InStrRev(url, "-") + 1), 1, 2)
        If (Mid(temp, 1, 1) = 0 And Mid(temp, 2, 1) < 9) Then
            temp = Mid(temp, 1, 1) & Mid(temp, 2, 1) + 1
        Else
            temp = temp + 1
        End If
        
        
        url = Mid(url, 1, InStrRev(url, "-")) & temp & Mid(Mid(url, InStrRev(url, "-") + 1), 3, 4)
    End If
    
    file = Mid(url, InStrRev(url, "/") + 1) 'ファイル名(urlの最後の"/"の後ろ(???.pdf))
    URLDownloadToFile 0, url, folder & file, 0, 0 'ファイルダウンロード
    
Next
End Sub

コメント

タイトルとURLをコピーしました