|
にんはさん、Endさん、こんばんわ。
>>Q2)上書き保存の場合
>saveasするとき、以下のようなエラーがでます
>「Microsoft Excel-Book1アプリケーション(Microsoft Excel-Book1)
>の起動を切り替えて・・・」
>(ちょっといじったらこのエラーがでなくなってしまって。)
>でも「切り替え」ボタンを押したら処理は進みます。
>>また、
>>>book1.xlsが怪しいんですけど。。。
>>とおっしゃるからには、何か心当たりがおありでは?
>保存したxlsを開こうとすると、Book1.xlsがたちあがるのです。
>なにも表示されないもの。。。。
>ファイル名がおかしいのかしら。
>なおしてまたやってみますが、どうぞ宜しくお願いします。
エラーが出た後で、パソコンを再起動してやりなおしましたか?
エラー回避のために、ファイルをいろいろチェックしてから保存する方法です。
Sub Test()
Dim newbook As Workbook, wb As Workbook, ws As Worksheet
Dim Opath As String, Ofile As String
'
Set ws = ActiveWorkbook.ActiveSheet
Set newbook = Workbooks.Add
'コピー元xls
'varxls = "C:A.xls"
'Workbooks.Open Filename:=varxls
ws.UsedRange.Copy _
Destination:=newbook.Worksheets(1).Range("A1")
Opath = "D:\システム\結果\" 'フォルダ(最後の\を忘れないでね)
Ofile = "A2【番号】 【名】 様.xls" 'ファイル名
'同じ名前のブックが開かれていたらエラーになるので閉じる(保存はしません)
On Error Resume Next
Set wb = Application.Workbooks(Ofile)
On Error GoTo 0
If Not wb Is Nothing Then
wb.Saved = True '保存したフリ
wb.Close '保存しないで閉じる
Set wb = Nothing
End If
'同じ名前のファイルがフォルダ内にあったら削除しておく
If Dir(Opath & Ofile) <> "" Then Kill (Opath & Ofile)
'改めて保存
newbook.SaveAs Filename:= _
Opath & Ofile, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
これでどうでしょうか?
再起動してから確認してみてください。
|
|