プログラム

開発言語:なでしこ

日別ページ作成処理

※【なでしこ実行モード】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