{"id":765,"date":"2023-12-09T23:59:16","date_gmt":"2023-12-09T14:59:16","guid":{"rendered":"https:\/\/web.cloudfree.jp\/journal\/?p=765"},"modified":"2024-01-31T12:39:14","modified_gmt":"2024-01-31T03:39:14","slug":"wordpress%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%82%921click%e3%81%a7%e6%9b%b4%e6%96%b05-5","status":"publish","type":"post","link":"https:\/\/web.cloudfree.jp\/journal\/wordpress%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%82%921click%e3%81%a7%e6%9b%b4%e6%96%b05-5\/","title":{"rendered":"WordPress\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u30921Click\u3067\u66f4\u65b0(5\/5)"},"content":{"rendered":"<h3 class=\"wp-block-post-title\">WordPress\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u30921Click\u3067\u66f4\u65b0(5\/5)<\/h3>\n\n\n<p class=\"has-tertiary-color has-text-color has-background has-small-font-size\" style=\"background-color:#8d8dd8;margin-top:0;margin-right:0;margin-bottom:0;margin-left:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">2023-12-09 \u8a18\u8f09<br>\u6982\u8981 : \u30b5\u30fc\u30d0\u3068\u30ed\u30fc\u30ab\u30eb\u306e\u30d5\u30a1\u30a4\u30eb\u66f4\u65b0\u6642\u9593\u3092\u6bd4\u8f03\u3057\u3066\u5fc5\u8981\u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9<br>\u95a2\u9023\u8a18\u4e8b\uff1a<a href=\"http:\/\/1\/5\">(1\/5)<\/a>, <a href=\"http:\/\/2\/5\">(2\/5)<\/a>, <a href=\"https:\/\/web.cloudfree.jp\/journal\/wordpress%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%82%921click%e3%81%a7%e6%9b%b4%e6%96%b03-5\/\" data-type=\"post\" data-id=\"760\">(3\/5)<\/a>, <a href=\"http:\/\/4\/5\">(4\/5)<\/a><br>Keyword : WordPress, VBA, FTP,<\/p>\n\n\n\n<p>(<a href=\"https:\/\/web.cloudfree.jp\/journal\/wordpress%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e7%92%b0%e5%a2%83%e3%82%921click%e3%81%a7%e6%9b%b4%e6%96%b04-5\/\" data-type=\"post\" data-id=\"764\">\u524d\u56de<\/a>\u306e\u3064\u3065\u304d\u3088\u308a)<br>\u5168\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u3066\u5168\u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308c\u3070\u697d\u3067\u3059\u304c\u3001\u30ed\u30fc\u30ab\u30eb\u3067\u306f\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306f\u4e0d\u8981\u3067\u3059\u3057\u3001\u3055\u3089\u306b\u306f\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3082\u4e0d\u8981\u3067\u3059\u3002\u307b\u304b\u306b\u3082\u30a2\u30af\u30bb\u30b9\u89e3\u6790\u306a\u3069\u30b5\u30fc\u30d0\u3067\u3057\u304b\u610f\u5473\u306e\u306a\u3044\u30d7\u30e9\u30b0\u30a4\u30f3\u3068\u3044\u3046\u306e\u3082\u3042\u308a\u307e\u3059\u3002<br>\u3064\u304d\u3064\u3081\u3066\u307f\u308b\u3068\u3001\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5bfe\u8c61\u306e\u30d5\u30a9\u30eb\u30c0\u306f\u30a4\u30e1\u30fc\u30b8\u95a2\u4fc2\u306e<br>\/wp-content\/uploads\/2023\/<br>\u30c6\u30fc\u30de\u95a2\u4fc2\u306e<br>\/wp-content\/themes\/<br>\u3053\u306e\uff12\u3064\u3068\u305d\u306e\u30b5\u30d6\u30d5\u30a9\u30eb\u30c0\u3060\u3051\u3067\u3088\u3044\u3068\u601d\u308f\u308c\u307e\u3059\u3002<br>\u3042\u3068\u306f\u3068\u304d\u3069\u304d\u624b\u4f5c\u696d\u3067\u7dcf\u5165\u308c\u66ff\u3048\u3092\u884c\u3048\u3070\u4e8b\u8db3\u308a\u308b\u3067\u3057\u3087\u3046\u3002<br><br>FTP\u64cd\u4f5c\u3092\u4f55\u5ea6\u3082\u884c\u3046\u306e\u3067\u3001\u307e\u305a\u3053\u306e\u90e8\u5206\u3092Sub\/Function\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>&#39;FTP\nPublic Sub FTP_ByCmdList(ByRef cCmdList As Collection)\n  Dim sCmd As String\n\n  &#39;FTP\u30a2\u30ab\u30a6\u30f3\u30c8\u60c5\u5831\n  sCmd = &quot;open svNN.cloudfree.ne.jp&quot; & vbNewLine\n  sCmd = sCmd & &quot;cfsid_ftpuser@cfsid.cloudfree.jp&quot; & vbNewLine\n  sCmd = sCmd & &quot;password&quot; & vbNewLine\n  sCmd = sCmd & &quot;BINARY&quot; & vbNewLine\n\n  &#39;FTP\u30b3\u30de\u30f3\u30c9\n  For Each svLine In cCmdList\n    sCmd = sCmd & svLine & vbNewLine\n  Next\n  &#39;FTP\u7d42\u4e86\u30b3\u30de\u30f3\u30c9\u306e\u66f8\u304d\u8fbc\u307f\n  sCmd = sCmd & &quot;quit&quot; & vbNewLine\n\n  &#39;FTP\u30b3\u30de\u30f3\u30c9\u3092\u30d5\u30a1\u30a4\u30eb\u306b\u51fa\u529b\n  Dim adoStream As Object:Set adoStream = CreateObject(&quot;ADODB.Stream&quot;)\n  &#39;Dim adoStream As New ADODB.Stream &#39;\u53c2\u7167:Microsoft ActiveX Data Objects 2.8 Library\n  adoStream.Charset = &quot;utf-8&quot;\n  adoStream.Open\n  adoStream.WriteText sCmd\n  adoStream.SaveToFile &quot;c:\\work\\cmd.txt&quot;, 2 &#39;2=adSaveCreateOverWrite\n  adoStream.Close\n\n  &#39;FTP\u63a5\u7d9a\n  Dim wsh As Object: Set wsh = CreateObject(&quot;WScript.Shell&quot;)\n  &#39;Dim wsh As New IWshRuntimeLibrary.WshShell &#39;\u53c2\u7167:Windows Script Host Object Model\n  Call w.Run_Sync(&quot;FTP -i -s:c:\\work\\cmd.txt&quot;)\n    \n  &#39;FTP\u30b3\u30de\u30f3\u30c9\u30d5\u30a1\u30a4\u30eb\u524a\u9664\n  Kill &quot;c:\\work\\cmd.txt&quot;\nEnd Sub<\/code><\/pre><\/div>\n\n\n\n<p>\u30d5\u30a1\u30a4\u30eb\u66f4\u65b0\u6642\u9593\u306e\u6bd4\u8f03\u306f\u30b5\u30d6\u30d5\u30a9\u30eb\u30c0\u3082\u542b\u3081\u3066\u8abf\u3079\u307e\u3059\u304b\u3089\u3001\u518d\u5e30\u95a2\u6570\u306e\u5f62\u3067\u7d44\u307f\u307e\u3059\u3002\u518d\u5e30\u95a2\u6570( FTP_DiffListup )\u306f\uff11\u3064\u306eCollection\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u3079\u304d\u30d5\u30a1\u30a4\u30eb\u30d1\u30b9\u3092\u683c\u7d0d\u3059\u308b\u51e6\u7406\u7d50\u679c\u3092\u3068\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<br><br>\u51e6\u7406\u306e\u547c\u3073\u51fa\u3057\u5074Sub<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>&#39;cloudfree\u30b5\u30fc\u30d0\u304b\u3089\u5fc5\u8981\u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\nSub LocalWPUpdate_FTPDownload()\n  Dim cDiff As New Collection\n  \n  &#39;wp-content\/uploads\/uploads\/2023\/&quot;\n  Call FTP_DiffListup(cDiff, &quot;public_html\/mywordpress\/wp-content\/uploads\/2023\/&quot;)\n  &#39;wp-content\/uploads\/uploads\/themes\/&quot;\n  Call FTP_DiffListup(cDiff, &quot;public_html\/mywordpress\/wp-content\/themes\/&quot;, True)\n  \n  &#39;FTP File\u53d6\u5f97\n  Dim vItem As Variant\n  Dim cCmdList As New Collection\n  For Each vItem In cDiff\n    cCmdList.Add &quot;get \/cfsid.cloudfree.jp\/&quot; & vItem & &quot; C:\\home\\cfsid\\cfsid.cloudfree.jp\\&quot; & Replace(vItem, &quot;\/&quot;, &quot;\\&quot;)\n  Next\n  Call FTP_ByCmdList(cCmdList)\n  \nEnd Sub<\/code><\/pre><\/div>\n\n\n\n<p>\u30d5\u30a1\u30a4\u30eb\u66f4\u65b0\u6642\u9593\u6bd4\u8f03\u306e\u30b5\u30d6\u30d5\u30a9\u30eb\u30c0\u63a2\u7d22\u518d\u5e30\u95a2\u6570\u3002<br>cloudfree\u306eFTP dir\u30b3\u30de\u30f3\u30c9\u3067\u306f\u3001\u30d5\u30a1\u30a4\u30eb\u66f4\u65b0\u65e5\u6642\u306e\u5e74\u3068\u79d2\u304c\u3068\u308c\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u305d\u3053\u306f\u3042\u307e\u308a\u53b3\u5bc6\u306b\u8003\u3048\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002<br>\u307e\u305f\u30c6\u30fc\u30de\u306e\u30d5\u30a1\u30a4\u30eb\u7fa4\u306f\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3068\u9055\u3063\u3066\u3001\u5b58\u5728\u3059\u308b\u3053\u3068\u3067\u4f5c\u7528\u3059\u308b\u30b1\u30fc\u30b9\u304c\u3042\u308b\u306e\u3067\u3001\u30ed\u30fc\u30ab\u30eb\u306b\u3057\u304b\u306a\u3044\u30d5\u30a1\u30a4\u30eb\u306f\u524a\u9664\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>Public Sub FTP_DiffListup(ByRef cDiff As Collection, ByVal sSubDir As String, _\n                          Optional ByVal fKillLocalOnly As Boolean = False)\n  Dim cCmdList As New Collection\n  Dim sDirFile As String\n  \n  &#39;\u30d5\u30a1\u30a4\u30eb\u60c5\u5831\u3092FTP\u3067\u53d6\u5f97\n  sDirFile = &quot;C:\\work\\&quot; & Replace(sSubDir, &quot;\/&quot;, &quot;\uff0f&quot;) & &quot;.txt&quot;\n  cCmdList.Add &quot;cd \/cfsid.cloudfree.jp\/&quot; & sSubDir\n  cCmdList.Add &quot;dir .\/ &quot; & sDirFile\n  Call FTP_ByCmdList(cCmdList)\n\n  &#39;\u30ed\u30fc\u30ab\u30eb\u306b\u3057\u304b\u306a\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3059\u308b\u305f\u3081\u306b\u5f53\u8a72\u30d5\u30a9\u30eb\u30c0\u306e\u30d5\u30a1\u30a4\u30eb\u4e00\u89a7\u3092\u4fdd\u7ba1\n  Dim sFile As String\n  Dim cLocalFiles As New Collection\n  Dim idx As Long\n  sFile = Dir(sLocalBase)\n  Do While sFile &lt;&gt; &quot;&quot;\n    Call cLocalFiles.Add(sFile)\n    sFile = Dir\n  Loop\n\n  Dim vLine As Variant\n  Dim asItem() As String\n  Dim sSeverTime As String\n  Dim sLocalTime As String\n  Dim sLocalFile As String\n  \n  &#39;FTP\u53d6\u5f97\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u958b\u3044\u3066\u8aad\u307f\u8fbc\u307f\n  Dim sFileContent As String \n  Dim adoFile As New ADODB.Stream &#39;\u53c2\u7167:Microsoft ActiveX Data Objects 2.8 Library\n  Call adoFile.Open\n  Call adoFile.LoadFromFile(sDirFile)\n  sFileContent = adoFile.ReadText\n  adoFile.Close\n  \n  For Each vLine In Split(sFileContent, vbNewLine)\n    &#39;\u30b9\u30da\u30fc\u30b9\u533a\u5207\u308a\u3068\u3057\u3066\u8aad\u307f\u8fbc\u3080\n    Do While InStr(vLine, Space(2))\n      vLine = Replace(vLine, Space(2), Space(1))\n    Loop\n    asItem = Split(vLine)\n    If UBound(asItem) = 8 Then\n      If asItem(8) = &quot;.&quot; Or asItem(8) = &quot;..&quot; Then\n        &#39;. or ..\n      Else\n        If Left(asItem(0), 1) = &quot;d&quot; Then\n          &#39;\u30d5\u30a9\u30eb\u30c0\u306f\u518d\u5e30\u547c\u51fa\n          Call FTP_DiffListup(cDiff, sSubDir & asItem(8) & &quot;\/&quot;)\n        Else\n          &#39;\u30ed\u30fc\u30ab\u30eb\u306b\u3057\u304b\u306a\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3059\u308b\u305f\u3081\u306b\u5b58\u5728\u30d5\u30a1\u30a4\u30eb\u3092\u6d88\u3057\u8fbc\u3080\n          For idx = cTarget.Count To 1 Step -1\n            If cLocalFiles(idx) = asItem(8) Then Call cLocalFiles.Remove(idx)\n          Next\n          &#39;\u30d5\u30a1\u30a4\u30eb\u306e\u5834\u5408\u306f\u66f4\u65b0\u6642\u9593\u3092\u6bd4\u8f03\n          sSeverTime = Format(CDate(asItem(5) & &quot; &quot; & asItem(6) & &quot; &quot; & asItem(7)), &quot;mm\/dd hh:nn&quot;)\n          sLocalFile = &quot;C:\\home\\cfsid\\cfsid.cloudfree.jp\\&quot; & Replace(sSubDir, &quot;\/&quot;, &quot;\\&quot;) & asItem(8)\n          If Dir(sLocalFile) = &quot;&quot; Then\n            &#39;\u30b5\u30fc\u30d0\u306e\u307f\u306b\u5b58\u5728\u3059\u308b\u30d5\u30a1\u30a4\u30eb\n            sLocalTime = &quot;[NEW]&quot;\n          Else\n            sLocalTime = Format(FileDateTime(sLocalFile), &quot;mm\/dd hh:nn&quot;)\n          End If\n          &#39;\u66f4\u65b0\u65e5\u6642\u306b\u5dee\u304c\u3042\u308b\u5834\u5408\u306f\u3001\u30b5\u30fc\u30d0\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5fc5\u8981\u3068\u3057\u3066\u683c\u7d0d\n          If sSeverTime &lt;&gt; sLocalTime Then\n            cDiff.Add sSubDir & asItem(8)\n          End If\n        End If\n      End If\n    End If\n  Next\n\n  &#39;\u30ed\u30fc\u30ab\u30eb\u306b\u3057\u304b\u306a\u3044\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3059\u308b(Option\u6307\u5b9a\u306e\u5834\u5408)\n  Dim vItem As Variant\n  If fKillLocalOnly Then\n    For Each vItem In cLocalFiles\n      Kill &quot;C:\\home\\cfsid\\cfsid.cloudfree.jp\\&quot; & vItem\n    Next\n  End If\n  \n  Kill sDirFile\nEnd Sub<\/code><\/pre><\/div>\n\n\n\n<p>dir\u30b3\u30de\u30f3\u30c9\u3067\u53d6\u308c\u308b1\u884c\u306f<br>-rw&#8212;-r&#8211; 1 cfsid_ftpuser@cfsid.cloudfree.jp 1000 102400 Dec 7 23:59 myimage.jpg<br>\u3068\u3044\u3046\u5185\u5bb9\u3067&#8221;Dec 7 23:59&#8243;\u304c\u30bf\u30a4\u30e0\u60c5\u5831\u3002<br>\u5e74\u3068\u79d2\u304c\u6b20\u3051\u3066\u307e\u3059\u3051\u3069\u3001\u3053\u308c\u3092CDate\u306b\u304b\u3051\u308b\u3068\u4eca\u5e74\u306800\u79d2\u3067\u57cb\u3081\u3066\u304f\u308c\u3066\u307e\u3059\u3002\uff11\u5e74\u7d4c\u3064\u3068\u3069\u3046\u306a\u308b\u304b\u78ba\u304b\u3081\u3066\u307e\u305b\u3093\u304c\u3068\u308a\u3042\u3048\u305a\u3053\u308c\u3067\u3088\u3057\u3068\u3057\u307e\u3059\u30022024\u5e7410\u6708\u554f\u984c\uff1f\u3068\u3044\u3046\u3053\u3068\u306b\u3002<br><br><mark style=\"background-color:rgba(0, 0, 0, 0);color:#fd1010\" class=\"has-inline-color\">2023.12.27 \u8ffd\u8a18<br>\u3053\u306e\u90e8\u5206\u306f<br><strong><a href=\"https:\/\/web.cloudfree.jp\/journal\/php%e3%81%aeftp%e9%96%a2%e6%95%b0%e3%81%a7%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e3%82%b5%e3%83%bc%e3%83%90%e3%81%a8%e5%90%8c%e3%81%98%e3%81%ab%e3%81%99\/\" data-type=\"post\" data-id=\"815\">php\u306eFTP\u95a2\u6570\u3067\u30ed\u30fc\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb\u3092\u30b5\u30fc\u30d0\u3068\u540c\u3058\u306b\u3059\u308b\u51e6\u7406\u3092\u8d70\u3089\u305b\u308b<\/a><\/strong><br>\u3067\u5f8c\u65e5\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3057\u307e\u3057\u305f\u3002<\/mark><br><br>\u4ee5\u4e0a\u3067\u300c\uff11\u30af\u30ea\u30c3\u30af\u3067\u30ed\u30fc\u30ab\u30eb\u66f4\u65b0\u300d\u304c\u5b8c\u6210\u3057\u307e\u3057\u305f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30b5\u30fc\u30d0\u3068\u30ed\u30fc\u30ab\u30eb\u306e\u30d5\u30a1\u30a4\u30eb\u66f4\u65b0\u6642\u9593\u3092\u6bd4\u8f03\u3057\u3066\u5fc5\u8981\u30d5\u30a1\u30a4\u30eb\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002dir\u3067\u5e74\u3068\u79d2\u304c\u53d6\u308c\u306a\u3044\u306e\u3067\u3059\u304c\u3001\u305d\u3053\u306f\u30e6\u30eb\u304f\u304b\u308f\u3057\u307e\u3059\u3002<\/p>\n","protected":false},"author":1,"featured_media":758,"comment_status":"open","ping_status":"closed","sticky":false,"template":"wp-custom-template-x24-index","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[40,12,24],"_links":{"self":[{"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/posts\/765"}],"collection":[{"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/comments?post=765"}],"version-history":[{"count":0,"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/posts\/765\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/media\/758"}],"wp:attachment":[{"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/media?parent=765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/categories?post=765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/web.cloudfree.jp\/journal\/wp-json\/wp\/v2\/tags?post=765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}