ブログの記事を一括更新・管理するツールを作ってみた。Visual StudioとMS Accessで便利アプリケーションが作成できる!
2016/03/29
ブログのコンテンツを手元で管理したかったので、MS Accessのテーブルに記事の内容を保存し、 WindowsフォームでHTMLページを生成するアプリケーションを作成しました。ブログの更新は全てこのアプリケーション上で行っています。
ページをFTPサイトにアップロードする手間はありますが、全ページのデザインやフォーマットを更新しないといけない場合、このようなアプリケーションがあると非常に便利です。
スポンサーリンク
アプリケーションの動作順序は以下の通りです。
1.Windows FormアプリケーションにてTableAdapter.FillでMS AccessテーブルのデータをGetDataで読み込み
Windows Form上でOnLoad時にMS Accessのテーブルを読み込みます。
2.StringBuilderでHTMLタグとDataGridView.Rows[i].Cells[j].ValueをAppendLine
Form上のボタンがOnClick時にテーブル内のデータをStringに格納します。
3.StringBuilderのStringをStreamWriterでWeb PageにWriteLine
テーブル内のレコード数に応じてHTMLページを生成します。
スクリプトの基本的な部分は以下の通りです。
for (int i = 0; i < DataGridView.RowCount; i++)
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("<title>" + DataGridView.Rows[i].Cells[j].Value + "</title>");
using (StreamWriter outFile = new StreamWriter(Directory.GetCurrentDirectory() + @"\" + DataGridView.Rows[i].Cells[j].Value + ".html", false, Encoding.GetEncoding("UTF-8")))
{
outFile.WriteLine(sb.ToString());
outFile.Close();
}
}
ローカルコンテンツマネジメントの利点
- 万が一サーバ上のコンテンツが失われても、手元にデータを管理している為、別のサーバ上でアップロードして復旧可能。
- ページのデザインやタグの位置を変更したい場合、ページを1つずつ変更しなくても、ボタン1つで更新を全ページに適用。
- ローカルパスにページを生成するので、アップロードする前にブラウザ上で更新の確認が可能。
- メニューやSNSのリンク、javascriptのスクリプト等も上記コードでHTMLに書き込んでいます。
悪い点
- HTMLページなのでコメント欄はありません。
- スマホ等から記事をオンライン投稿できません。作業は全部PC上で行いFTPでサーバにアップロードします。
- WordPressの便利なプラグイン機能は一切使えない。
不便な点もありますが、データをローカル管理できる点は大きいと思います。Visual StudioとMS Accessと上記のスクリプトを応用すればアプリケーションは作成できるので、良かったら使ってみてください。
スポンサーリンク
スポンサーリンク