株式会社ティリオン公式ブログ

ティリオンは、
魅せるデザイン+高度なシステムであなたのビジネスをサポート、
技術系&日々のできごとをゆるくご紹介

ExcelでWEBコンテンツの更新(4)FTPの自動化(2)

2017-06-09 14:55:45 | IT

FTPを自動化するためには、
コマンドプロンプトで入力したコマンドを記述した、
パラメータファイルを作成します。

コマンドの手順は次の通り

open サーバ名     ←サーバに接続

ユーザ名、パスワード  ←ユーザ名、パスワードを入力

cd /public_html   ←サーバのディレクトリを変更
 
lcd c:\temp      ←ローカル(自分のPC)のディレクトリを変更
 
send table.html   ←ファイル送信
 
bye  ← FTPの終了
 
メモ帳やエディタを使って入力して、
ファイルに保存します、
ファイル名は何でもいいんですが、
ftppara.txt と付けます。
 
このパラメータファイルを実行してみましょう。
 
コマンドプロンプトを立ち上げて、
 
ftp -s:ftppara.txt
 
と入力するとパラメータファイルに記述した順番に実行するはずです、
 
「スクリプト ファイル ftppara.txt を開くときにエラーが発生しました。」と表示されたら、
保存したディレクトリに移動してから実行して下さい。
 
cd パラメータファイルのディレクトリ
ftp -s:ftppara.txt
 
ちゃんと実行できましたか?
 
あとは、この2行をバッチファイルに記述すれば、
エクスプローラでバッチファイルをダブルクリックするだけで、
FTPが起動してサーバに転送してくれます。
 
Excelでテーブルデータを書き換えてボタンを押す、
バッチファイルをダブルクリック、
 
これだけでサーバのデータを更新することができます。
 
ExcelのVBAでFTPを実行することもできますが、
ちょっと複雑になってくるので、
別の機会に説明いたします。
 
。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。
株式会社ティリオンは、
システムに強いWEB制作会社、
魅せるホームページ+高度なシステムで、
ビジネスの成功をお手伝いします。
 
こんなことできないか、と、思ったら、
まずは、お気軽にお問合せを、

miura@tirion.co.jp 担当:三浦
 
弊社では、お酒の情報ポータルサイト、
銘酒ネット(http://meisyu.net/)を運営しています。
。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。

 

コメント
この記事をはてなブックマークに追加

ExcelでWEBコンテンツの更新(4)FTPの自動化(1)

2017-06-04 11:54:02 | IT
ExcelのVBAを使ってHTMLファイルを作成した後は、
FTPを使ってWEBサーバにアップします。
 
WEBサーバにFTPでアップすることも自動化することが可能です。
 
方法は2つあって
①コマンドプロンプトを使用してバッチプログラムを実行
②BASP21を使ってVBAの中に組み込む
 
まずは手軽に扱えるコマンドプロンプトを使った自動化、
さすがにWindows10ともなると、
MS-DOSのコマンドを使える人も少ないような気がしますが…。
 
コマンドプロンプトを起動するには、
cortana さんで コマンドプロンプト と検索するか、
windowsシステムツールで コマンドプロンプト を起動して下さい。
 
コマンドプロンプトを起動すると、
真っ黒な画面が立ち上がります、
FTPと入力すると、
ftp> と表示されます。
 
open サーバ名
と入力すると、
ユーザ名とパスワードを聞かれます。
 
認証に成功すると、
 
230 User xxxxxxxxx logged in と表示されます。
 
ftp> に dir と入力してみて下さい。
 
ファイルとディレクトリの一覧が表示されます。
 
ftp> cd 移動するディレクトリ で、ディレクトリの場所を変更できます。
 
例) cd /public_html
 
自分のパソコンのディレクトリは、
 
ftp>lcd で確認できます。
 
ftp>lcd c:\temp で Cドライブのtempディレクトリに移動します。
 
c:\temp\table.html を サーバの /public_html に転送してみましょう。
 
ftp>send table.html
 
これでサーバに送信できました、
fftp 等のFTPソフトを使って確認してみて下さい。
 
ftp>bye で ftpは終了します。
 
今、手作業をやった部分を記述したパラメータファイルを作成すれば、
一連の流れを自動化して、
アイコンをダブルクリックするだけでFTPできるようになります。
 
以下、次回。
 
。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。
株式会社ティリオンは、
システムに強いWEB制作会社、
魅せるホームページ+高度なシステムで、
ビジネスの成功をお手伝いします。
 
こんなことできないか、と、思ったら、
まずは、お気軽にお問合せを、

miura@tirion.co.jp 担当:三浦
 
弊社では、お酒の情報ポータルサイト、
銘酒ネット(http://meisyu.net/)を運営しています。
。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。
コメント
この記事をはてなブックマークに追加

ExcelでWEBコンテンツの更新(3)

2017-05-24 14:31:36 | IT
Excelシート内に作成したボタンにVBAプログラムを記述します。
 
ボタン1_Click 以下をコピーして、
ボタンに貼り付けて実行してみて下さい。
 
処理の基本的な流れですが、
ボタンを押すと、、
シートを1行ずつ読んで、
HTMLタグを出力していきます。
 
Excelで扱う文字コードは Shift-JISなので、
最終的にUTF-8(BOMなし)形式にして、
c:\temp\table.html という名前でファイルを作成します。
 
なお、Excelファイルは、
マクロ有効ブック *.xlsm 形式で保存します。
 
プログラムさえ組んでしまえば、
面倒なタグを扱うことなしに、
HTMLファイルの更新を行うことができます。
 
===========================
Sub ボタン1_Click()
       
    '   変数定義
    Dim FileName    '   出力ファイル名

    Dim xRow    '   行位置
    
    Dim kdate, kkukan, kunchin  '   ワークエリア
    Dim OutText '   出力バッファ

'   PC版

    xRow = 2
    
    OutText = ""
    
    '   HTML(ヘッダ部)の出力
    OutText = OutText & "<html>" & vbCrLf
    OutText = OutText & "<head>" & vbCrLf
    OutText = OutText & "<meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"">" & vbCrLf
    OutText = OutText & "</head>" & vbCrLf
    OutText = OutText & "<body>" & vbCrLf
    
    '   Tableタグ(開始)の出力
    OutText = OutText & "<table border=""1"">" & vbCrLf
    OutText = OutText & "<tbody>" & vbCrLf
    OutText = OutText & "<tr>" & vbCrLf
    OutText = OutText & "<td>日付</td>" & vbCrLf
    OutText = OutText & "<td>区間</td>" & vbCrLf
    OutText = OutText & "<td>運賃</td>" & vbCrLf
    OutText = OutText & "</tr>" & vbCrLf
    
    '   一行ずつ処理をしていく
    Do While Range("A" & xRow).Value <> ""  '   A列に何も入力されていないければ終了とする
                    
        kdate = Range("A" & xRow)       '   日付(A列)保存
        kkukan = Range("B" & xRow)      '   区間(B列)保存
        kunchin = Range("C" & xRow)     '   運賃(C列)保存
        
        '   出力バッファに保存
        OutText = OutText & "<tr>"
        OutText = OutText & "<td>" & kdate & "</td>"
        OutText = OutText & "<td>" & kkukan & "</td>"
        OutText = OutText & "<td>" & kunchin & "</td>"
        OutText = OutText & "</tr>" & vbCrLf
                
        xRow = xRow + 1
    Loop
    
    '   Tableタグ(終了)の出力
    OutText = OutText & "</tbody>" & vbCrLf
    OutText = OutText & "</table>" & vbCrLf

    '   HTML(降った部)の出力
    OutText = OutText & "</body>" & vbCrLf
    OutText = OutText & "</html>" & vbCrLf

    '   ファイルの出力先
    FileName = "c:\temp\table.html"

    'ADODBの設定
    '   参照設定 [ツール]→[参照設定]で
    '   Microsoft ActiveX Data Objects x.x Library にチェックを入れる
    Dim ado1 As New ADODB.Stream
    
    '   UTF-8形式のファイルで保存する
    ado1.Type = adTypeText
    ado1.Charset = "UTF-8"
    ado1.LineSeparator = adCRLF
    ado1.Open

    ado1.WriteText OutText, adWriteLine
    ado1.SaveToFile FileName, adSaveCreateOverWrite

    ado1.Close

    Dim Src, BOM, Buf

    '   UTF8 BOMの削除
    Set Src = CreateObject("ADODB.Stream")
    Src.Open
    Src.Type = adTypeText
    Src.Charset = "utf-8"
    Src.WriteText ""
    Src.Position = 0
    Src.Type = adTypeBinary
    BOM = CStr(Src.Read(3))

    Src.LoadFromFile FileName
    Buf = CStr(Src.Read(3))
    If Buf = BOM Then
        Buf = Src.Read(-1)
        Src.Position = 0
        Src.Write Buf
        Src.SetEOS
        Src.SaveToFile FileName, adSaveCreateOverWrite
    End If
    
    Src.Close
    Set Src = Nothing

    MsgBox "終了しました"


===========================


 

。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。
株式会社ティリオンは、
システムに強いWEB制作会社、
魅せるホームページ+高度なシステムで、
ビジネスの成功をお手伝いします。
 
こんなことできないか、と、思ったら、
まずは、お気軽にお問合せを、

miura@tirion.co.jp 担当:三浦
 
弊社では、お酒の情報ポータルサイト、
銘酒ネット(http://meisyu.net/)を運営しています。
。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。
コメント
この記事をはてなブックマークに追加

ExcelでWEBコンテンツの更新(2)

2017-05-22 10:47:20 | IT
ExcelシートをそのままHTMLファイルにしたり、
ExcelシートをHTMLに変換してくれるサイトもあるのですが、
どちらもデザイン的に「アレ」な感じになってしまうので、
VBAを使って、
HTML変換していきます。
 
VBA…
Excelを使っていてVBAを使いこなしている人はそれほど多くないような…、
でも、覚えればいろいろ便利だと思います。
 
ExcelでVBAを使うには、
 
Excelのオプション(ファイルメニュー→オプション)
 ↓
リボンのユーザ設定
 ↓
開発にチェックを入れて下さい
 
メニューバーに「開発」が表示されます。
 
 
フォームコントロール、
一番上の □ をクリック、
 シートの上で四角を描くようにクリック、ドラッグ&ドロップすると、
マクロメニューが表示されます、
 
 
新規作成をクリックするとVBAのコード画面が表示されます、
ここにシートの内容をHTMLに変換するためのプログラムを書いていきます。
 
 
試しに MsgBox "テスト" と入力してみます。
 
シート上のボタンをクリックすると、
ダイアログボックが出てきて テスト と表示されます。
 
セキュリティ関係のエラーが表示された場合には、
設定を確認するか、
もう一度最初からやり直してみて下さい。
 
次回は実際にプログラムを組んでみます。
 
。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。
株式会社ティリオンは、
システムに強いWEB制作会社、
魅せるホームページ+高度なシステムで、
ビジネスの成功をお手伝いします。
 
こんなことできないか、と、思ったら、
まずは、お気軽にお問合せを、

miura@tirion.co.jp 担当:三浦
 
弊社では、お酒の情報ポータルサイト、
銘酒ネット(http://meisyu.net/)を運営しています。
。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。
コメント
この記事をはてなブックマークに追加

ExcelでWEBコンテンツの更新(1)

2017-05-21 11:05:26 | IT

WEBコンテンツを更新する方法はいくつかありますが、

一般的には、
HTMLファイルを修正し、
FTPソフトを使ってサーバに転送、
して動作確認だったり、

WordPress等のCMSを使って修正、

という方法だと思います。

WordPressなら比較的簡単にできますが、
HTMLファイルを修正してFTP、
という流れだと、
HTMLタグについての教育したり、
FTPソフトの操作法を教えたり、
と、なにかと面倒な上、
修正自体に手間がかかり、
入力ミスでページが崩れたりと、
なにかと問題が多いのも確か。

弊社では、 Excelを使ってコンテンツを更新するシステムを提供しています。
例えば、

日付 区間 運賃
5/1 千葉-東京 637円
5/2 千葉-稲毛 154円

こんな表組みを作る場合、
HTMLなら、

<table border="1">
<tbody>
<tr><td>日付</td><td>区間</td><td>運賃</td></tr>
<tr><td>5/1</td><td>千葉-東京</td><td>637円</td></tr>
<tr><td>5/2</td><td>千葉-稲毛</td><td>154円</td></tr>
</tbody>
</table>

こんな感じでコーディングしていきます。

HTMLの知識がない人に、
毎日1行追加して情報を更新して下さい、
ということをお願いするのも結構大変だし、
やる人の負担にもなってきます。

Excelならこの程度の修正なら誰でも簡単に行うことができますね、

こんな感じでExcelで表を作成。

このデータをどうやってHTML化するのか、
方法はいくつかあります。

①ExcelのVBAを使ってHTMLを作成する
②Excelファイルをサーバに送信し、
 サーバ側でHTMLに変換する
   :

まずは、①のVBAについて説明します、
以下、次回に続きます。

。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。
株式会社ティリオンは、
システムに強いWEB制作会社、
魅せるホームページ+高度なシステムで、
ビジネスの成功をお手伝いします。
 
お問合せはお気軽に、
miura@tirion.co.jp 担当:三浦
 
弊社では、お酒の情報ポータルサイト、
銘酒ネット(http://meisyu.net/)を運営しています。
。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。:+* ゚ ゜゚ *+:。



コメント
この記事をはてなブックマークに追加