プログラム
日別ページ作成処理
※【なでしこ実行モード】cnako
##日別ページ作成 Copy Light ayukawafram
## v2.0 2010/01/06
「日別ページ作成処理開始」と言う。
##日別ページhtmlファイルの日付関係を一括置換変更
##作成日数で指定し、終了日を日付計算で求めるパターン
##作成開始日、作成終了日この処理で取得
コピー元ファイル名2009=「D:\html\ayukawafarm\dairy\template\dairy-yyyymmdd.html」
コピー元ファイル名2010=「D:\html\ayukawafarm\diary\template\diary-yyyymmdd.html」
日記フォルダ2009=「dairy」
日記フォルダ2010=「diary」
ループ1=1
(ループ1=1)の間
「作成年月日-作成日数をYYYY/MM/DD-dd形式で指定」と尋ねて、指定パラに代入。
もし、指定パラが「」ならば
「終了」と表示、終了
ここまで
作成開始日付区切り=LEFT(指定パラ,10)
作成日数=RIGHT(指定パラ,2)
作成日数=作成日数 - 1
作成終了日付区切り=作成開始日付区切りに「0/0/{作成日数}」を日付加算
####2009年で対象を変更する処理
もし、(LEFT(作成開始日付区切り,4) > 2009)ならば
コピー元ファイル名=コピー元ファイル名2010
日記フォルダ=日記フォルダ2010
違えば
コピー元ファイル名=コピー元ファイル名2009
日記フォルダ=日記フォルダ2009
ここまで
「----指定パラメータと日付----
指定パラは{指定パラ}
作成開始日付区切りは{作成開始日付区切り}
作成終了日付区切りは{作成終了日付区切り}
コピー元ファイル名は{コピー元ファイル名}
日記フォルダは{日記フォルダ}
」と表示。
「これで作りますか、1:実行 2:再入力 取り消し:中止」と尋ねて、実行パラに代入。
実行パラで条件分岐
1ならば、ループ1=0 ##ループを抜ける
2ならば、続ける ##処理再実行
違えば、「処理中断」と表示、終了
ここまで
ここまで
##前日取得 ループ前処理 前日を毎回計算しなくとも良いように
前日日付区切り=作成開始日付区切りに「-0/0/1」を日付加算
##### 処理本体 ##################################
##作成日数の間処理を繰り返す
(作成開始日付区切り ≦ 作成終了日付区切り)の間
##作成日数処理開始
##作成日取得
作成日付=作成開始日付区切りの「/」を「」に置換
作成年=LEFT(作成日付,4)
作成月=MID(作成日付,5,2)
作成日=RIGHT(作成日付,2)
##前日分解処理
前日日付=前日日付区切りの「/」を「」に置換
前日年=LEFT(前日日付,4)
前日月=MID(前日日付,5,2)
前日=RIGHT(前日日付,2)
##翌日取得
翌日日付区切り=作成開始日付区切りに「0/0/1」を日付加算
翌日日付=翌日日付区切りの「/」を「」に置換
翌日年=LEFT(翌日日付,4)
翌日月=MID(翌日日付,5,2)
翌日=RIGHT(翌日日付,2)
#作成日曜日算出。
作成日付曜日=作成開始日付区切りの曜日
###確認表示 #デバツク用
/*「----コピーファイル作成年、月----
作成開始日付区切りは{作成開始日付区切り}、作成日付は{作成日付}、作成日付曜日は{作成日付曜日}
前日日付区切りは{前日日付区切り}、前日日付は{前日日付}
翌日日付区切りは{翌日日付区切り}、翌日日付は{翌日日付}
」と表示。*/
##次のループための準備
前日日付区切り=作成開始日付区切り
作成開始日付区切り=翌日日付区切り
##ファイル処理
コピー先ファイル名=「D:\html\ayukawafarm\{日記フォルダ}\{作成年}\{作成年}{作成月}\{日記フォルダ}{作成年}{作成月}{作成日}.html」
もし、(コピー先ファイル名が存在するか=はい)ならば
「ファイルが存在 {コピー先ファイル名}」を表示
「ファイルが存在、処理の選択 飛ばして次の日付の処理:1、上書き:9、中止:0」と尋ねて、実行パラ2に代入
もし、(実行パラ2=1)ならば
「このファイルはスキップする:{作成年}{作成月}{作成日}.html」と表示
続ける ##このループの先頭、作成日取得に戻る
違えば、もし、(実行パラ2=9)ならば
「このファイルは上書きする:{作成年}{作成月}{作成日}.html」と表示 ##もし文を抜ける
違えば
「中断し終了する」と表示、終了
ここまで
ここまで
ファイル名はコピー元ファイル名から、コピー先ファイル名へファイルコピー
ファイル名はコピー先ファイル名。
ファイル名を開く。
##日付関係の置換
「*yyyy*」を作成年に置換。
「*mm*」を作成月に置換。
「*dd*」を作成日に置換。
「*wd*」を作成日付曜日に置換。
「*yyyyb*」を前日年に置換。
「*mmb*」を前日月に置換。
「*ddb*」を前日に置換。
「*yyyyn*」を翌日年に置換。
「*mmn*」を翌日月に置換。
「*ddn*」を翌日に置換。
「*yyyypb*」を前日年に置換。
「*mmpb*」を前日月に置換。
「*ddpb*」を前日に置換。
「*yyyypn*」を翌日年に置換。
「*mmpn*」を翌日月に置換。
「*ddpn*」を翌日に置換。
ファイル名へ保存。
「ファイル作成 {ファイル名}」と表示。
ここまで ##ここまで、作成日数分繰り返す
#### 終了処理 ############################
「終了」という。
日記表題付け
※【なでしこ実行モード】cnako
#日記表題付け.nako 2010/01/10 v1.1 AyukawaFarm
#ワードを最初に作り、csvファイルの値を差し込む
#ワードで、差し替えるところに日付と祭日のブックマークをつける
#EXCELで日付、曜日、祭日の表を作り、奇数日数と偶数日数にわけでデータをCSVに落とす
#「日付」はワードのブックマーク項目名、対象【0】はCSVファイルの1つ目の項目
#表と裏を一度に印刷できないので、奇数日数で表を印刷後、其の裏に偶数日数で印刷
#処理に応じて、一方をコメントアウトする
ワード起動。
#表の処理
「D:\data\日記\日記表題-奇数日-120.csv」を開いてCSV取得。
#裏の処理
#「D:\data\日記\日記表題-偶数日-120.csv」を開いてCSV取得。
反復#3
「D:\data\日記\メモ帳日付.doc」をワード開く
「日付」に対象【0】をワードブックマーク挿入
「祭日」に対象【1】をワードブックマーク挿入
「D:\data\日記\」&「w{回数}.doc」へワード保存
ワード印刷
ワード文書閉じる。
ワード終了。
「完了」と言う。
copyright (c) AyukawaFarm all rights reserved