別名保存についてNo.05039
さん 06/02/04 18:30
 
こんにちは。

「a.txt」というファイルを編集中に「b.txt」として保存したいが、
「b.txt」のウインドウは要らず、引き続き「a.txt」のみを編集したい場合に、

$fn = filename;
SAVEAS;
openfile $fn;

という原始的な方法をとっていますが、これだと、
やり直しバッファが消えるので不便です。
良い方法がありましたら教えてください。

[ ]
RE:05039 別名保存についてNo.05040
h-tom さん 06/02/04 19:05
 

h-tom です。

>「a.txt」というファイルを編集中に「b.txt」として保存したいが、
>「b.txt」のウインドウは要らず、引き続き「a.txt」のみを編集したい場合に、
1)全部選択してコピー
2)新規秀丸をステルスで開き、貼り付け(履歴戻し?)
3)SAVEASで保存
4)元の秀丸に制御を戻し、2)で開いた秀丸を閉じる
という方法でいけるかな?

[ ]
RE:05039 別名保存についてNo.05041
三月 さん 06/02/04 23:12
 
>
>$fn = filename;
>SAVEAS;
>openfile $fn;
>
>という原始的な方法をとっていますが、これだと、
>やり直しバッファが消えるので不便です。
>良い方法がありましたら教えてください。

よい方法ではないですが、下記のようなマクロとVBスクリプトをつくって
保存したファイルを別名でコピーするとかいかが?

--- SaveCopyFile.mac ---
SAVE;
$CopyComd = "c:\\xxx\\FileSaveAs.vbs " + filename;
run $CopyComd ;

--- FileSaveAs.vbs ----
Option Explicit

Const cdlOFNOverwritePrompt = &h2
Const cdlOFNExplorer = &h80000
Const cdlOFNLongNames = &h200000


testOfnDlg

Sub testOfnDlg()
    Dim fs
    Dim OrgFile
    Dim OrgPath
   
    If Wscript.Arguments.Count = 0 Then
        MsgBox "ファイルが不明です" , vbCritical,  "ファイル保存"
        Exit Sub
    Else
        OrgPath = Left(Wscript.Arguments(0), InStrRev(Wscript.Arguments(0),
"\")  )
        OrgFile = Mid(Wscript.Arguments(0), InStrRev(Wscript.Arguments(0), "
\") +1 )
    End If

    Dim comdlg:Set comdlg=CreateObject("MSComDlg.CommonDialog")
    Dim OutFile
   
    With comdlg
        .Flags=  cdlOFNOverwritePrompt Or cdlOFNExplorer Or cdlOFNLongNames
        .MaxFileSize=32766
        .DialogTitle="名前をつけて保存"
        .Filter="全てのファイル(*.*)|*.*"
        .InitDir=OrgPath
        .FileName=OrgFile
        .CancelError=True
       
        On Error Resume Next
       
        .ShowSave
       
        If Err Then Set comdlg=Nothing:Exit Sub 'Cancel
        On Error Goto 0
       
        OutFile =  .FileName
    End With
    Set comdlg=Nothing
    Set fs = CreateObject("Scripting.FileSystemObject")
    fs.CopyFile Wscript.Arguments(0),OutFile, True
 

End Sub


[ ]
RE:05039 別名保存についてNo.05042
Iranoan さん 06/02/05 00:25
 
 桂さん今日は、Iranoan です。
> 「a.txt」というファイルを編集中に「b.txt」として保存したいが、
> 「b.txt」のウインドウは要らず、引き続き「a.txt」のみを編集したい
$fn = filename;
SAVEAS;
changename $fn;
で良くないですか?

[ ]
RE:05039 別名保存についてNo.05043
さん 06/02/05 16:08
 
皆さんコメントありがとうございます。
承って考えましたところ、

$fn = filename;
SAVEAS;
changename $fn;
save;

で望み通りの結果が得られました。
ありがとうございました。m(__)m





[ ]