' ' '同名保存を行い、その際に旧ファイルを '*:\_crbuckup_logフォルダにも保存します proc exec if @hwnd=0 then print"ファイルが1つも編集されていません。" end end if ' if @select<>0 then ' print"範囲選択中なので保存とバックアップは行いません。" ' end ' end if if @pathname$<>"(無題)" then @filesave else @filesaveas end if if @pathname$<>"(無題)" and instr(ucase$(@filename$),"CRBACKUP.INI")=0 then backupmain end if end end proc function getprofilename$() dim tmp$ tmp$=macrofilename$ tmp$=left$(tmp$,inrstr(tmp$,".")) tmp$=tmp$+"ini" getprofilename$=tmp$ end function function conptime(aft$,bef$,tim) dim aft,bef aft=val(left$(aft$,2))*60+val(mid$(aft$,4,2)) bef=val(left$(bef$,2))*60+val(mid$(bef$,4,2)) if aft=bef+tim then conptime=TRUE else conptime=FALSE end if end function sub backupmain dim m,f$,backupflag,originalname$ dim tmp$,tmp m=getminutes() f$=left$(@pathname$,1)+":\_crbackup_log\" if dir$(f$+"*.*")="" then mkdir f$ ' backupflag=FALSE if @global$("crbackup_savetime")="" then backupflag=TRUE else backupflag=conptime(time$,@global$("crbackup_savetime"),m) end if if backupflag=TRUE and @select<>0 then print "範囲選択されているため普通に保存しました。" elseif backupflag=TRUE then @global$("crbackup_savetime")=time$ tmp$=mid$(@pathname$,3) tmp$=left$(tmp$,inrstr(tmp$,".")-1)+"_"+date$+"_"+time$+mid$(tmp$,inrstr(tmp$,".")) for tmp=1 to len(tmp$) if mid$(tmp$,tmp,1)="\" then tmp$=left$(tmp$,tmp-1)+"_"+mid$(tmp$,tmp+1) if mid$(tmp$,tmp,1)=":" then tmp$=left$(tmp$,tmp-1)+"_"+mid$(tmp$,tmp+1) if mid$(tmp$,tmp,1)="/" then tmp$=left$(tmp$,tmp-1)+"_"+mid$(tmp$,tmp+1) if mid$(tmp$,tmp,1)=" " then tmp$=left$(tmp$,tmp-1)+"0"+mid$(tmp$,tmp+1) next tmp$=right$(tmp$,200) tmp$=f$+tmp$ originalname$=@pathname$ call @append(tmp$) print "保存と同時にバックアップを行いました。" else print "保存しました。" end if end sub function getminutes dim profilename$ dim m$ profilename$=getprofilename$() m$=getprofile$("setting","crbackup_minutes",profilename$) if m$="" then m$="0" writeprofile "setting","crbackup_minutes",m$,profilename$ end if getminutes=val(m$) end function proc main setting end proc proc setting dim a$[9],b,c$,d$ dim m m=getminutes() if m<>0 then d$="現在"+str$(m)+"分間隔" else d$="現在指定なし" end if a$[1]="Cancel" a$[2]="-" a$[3]="保存と同時にバックアップを行う" a$[4]="-" a$[5]="バックアップ不能期間を設定("+d$+")" b=popupmenu(a$,0,0) if b<2 then end if b=3 then exec():end if b<>5 then call msgbox("エラーが発生しました。"):end c$=trim$(str$(m)) c$=inputbox$("バックアップ不能時間を半角の数字で入力してください。単位は「分」です。"+"とりあえず0〜999分のあいだでお願いします。"+"作者の推奨は30分です。","時間の指定",c$,"") if c$="" then end c$=trim$(str$(val(c$))) writeprofile "setting","crbackup_minutes",c$,getprofilename$() d$="指定なし" if val(c$)<>0 then d$=c$+"分" call msgbox("バックアップ不能時間を「"+d$+"」に設定しました。") end proc