Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2524 / 13645 ツリー ←次へ | 前へ→

【67088】Win7で保存マクロが機能しません いわま 10/11/3(水) 1:40 質問[未読]
【67089】Re:Win7で保存マクロが機能しません かみちゃん 10/11/3(水) 8:17 発言[未読]
【67092】Re:Win7で保存マクロが機能しません いわま 10/11/3(水) 10:40 質問[未読]
【67094】Re:Win7で保存マクロが機能しません かみちゃん 10/11/3(水) 10:45 発言[未読]
【67097】Re:Win7で保存マクロが機能しません いわま 10/11/3(水) 11:17 質問[未読]
【67098】Re:Win7で保存マクロが機能しません かみちゃん 10/11/3(水) 11:38 発言[未読]
【67105】Re:Win7で保存マクロが機能しません いわま 10/11/4(木) 0:43 お礼[未読]
【67495】Re:Win7で保存マクロが機能しません [名前なし] 10/12/9(木) 13:20 発言[未読]

【67088】Win7で保存マクロが機能しません
質問  いわま  - 10/11/3(水) 1:40 -

引用なし
パスワード
   教えて下さい。
下記のように保存マクロを作りました。
しかし、Windows7では保存できなくなってしまいました。
XPでも7でも保存できるようにするにはどうすればいいのでしょうか?

ファイル名は自動で入れたいので、保存場所だけ任意で選べるように
するのも方法かと思いますが、どうすればよいのか解りません。
よろしくお願いします。


Sub 保存()
'
' 保存 Macro

西暦 = Sheets("データシート").Range("B7")
月 = Sheets("データシート").Range("B8")
部署名 = Sheets("データシート").Range("B10")

If ActiveWorkbook.Name = 部署名 + ".xls" Then
If 西暦 = "0" Or 月 = "0" Then
If MsgBox(部署名 & " .xlsを保存します。", vbYesNo) = vbYes Then
 ActiveWorkbook.Save
  End If
  Exit Sub
If MsgBox(部署名 & 西暦 & "年" & 月 & "月" & "のシートを保存します。", vbYesNo) = vbYes Then
  
    Sheets("データシート").Activate   'そのシートを指定
    Fname = Range("B10") & Range("B7") & "年" & Range("B8") & "月" + ".xls"
    ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\All Users\デスクトップ\" & Fname
   
  End If
  Exit Sub
  End If


  Exit Sub
End If
  If ActiveWorkbook.Saved = False Then
  If MsgBox(部署名 & 西暦 & "年" & 月 & "月" & "のファイルを保存します。", vbYesNo) = vbYes Then
  ActiveWorkbook.Save
  End If
  Exit Sub
  End If

End Sub

【67089】Re:Win7で保存マクロが機能しません
発言  かみちゃん E-MAIL  - 10/11/3(水) 8:17 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>しかし、Windows7では保存できなくなってしまいました。
>XPでも7でも保存できるようにするにはどうすればいいのでしょうか?

まず、確認したいのですが、
Excelのバージョンは何ですか?

>    ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\All Users\デスクトップ\" & Fname

この部分は、
ActiveWorkbook.SaveAs Filename:=CreateObject("WScript.Shell").SpecialFolders("AllUsersDesktop") & "\" & Fname
とすれば、いいかと思います。

特殊フォルダについては、以下などが参考になると思います。
http://www.happy2-island.com/vbs/cafe02/capter00106.shtml

【67092】Re:Win7で保存マクロが機能しません
質問  いわま  - 10/11/3(水) 10:40 -

引用なし
パスワード
   こんにちは。

ご回答ありがとうございます。
Excelのバージョンは2000で、VBAは6.0です。
早速、書き換えてみましたが、書き換えた構文で止まってしまいます。
バージョンの古さが問題なのでしょうか?
よろしくお願いします

▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>しかし、Windows7では保存できなくなってしまいました。
>>XPでも7でも保存できるようにするにはどうすればいいのでしょうか?
>
>まず、確認したいのですが、
>Excelのバージョンは何ですか?
>
>>    ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\All Users\デスクトップ\" & Fname
>
>この部分は、
>ActiveWorkbook.SaveAs Filename:=CreateObject("WScript.Shell").SpecialFolders("AllUsersDesktop") & "\" & Fname
>とすれば、いいかと思います。
>
>特殊フォルダについては、以下などが参考になると思います。
>http://www.happy2-island.com/vbs/cafe02/capter00106.shtml

【67094】Re:Win7で保存マクロが機能しません
発言  かみちゃん E-MAIL  - 10/11/3(水) 10:45 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Excelのバージョンは2000で、VBAは6.0です。
>早速、書き換えてみましたが、書き換えた構文で止まってしまいます。
>バージョンの古さが問題なのでしょうか?

エラーメッセージは何でしょうか?
Windows7 + Excel2000 の環境ですか?

申し訳ありませんが、私の周りには、その環境がないので、確認できません。

【67097】Re:Win7で保存マクロが機能しません
質問  いわま  - 10/11/3(水) 11:17 -

引用なし
パスワード
   お世話になります。

>エラーメッセージは何でしょうか?
>Windows7 + Excel2000 の環境ですか?
Windows7+Excel2003でした。失礼しました。
マクロを実行すると「c:\Users\Public\Desktop にアクセスできません」
とアラートが出ます。

>
>申し訳ありませんが、私の周りには、その環境がないので、確認できません。

【67098】Re:Win7で保存マクロが機能しません
発言  かみちゃん E-MAIL  - 10/11/3(水) 11:38 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Windows7+Excel2003でした。失礼しました。
>マクロを実行すると「c:\Users\Public\Desktop にアクセスできません」
>とアラートが出ます。

最初に提示されたコードの
C:\Documents and Settings\All Users\デスクトップ
を、試しに
C:\Users\Public\Desktop
と書き換えても、同様のエラーが出るのではないでしょうか?

となると、そのフォルダに保存できないということかと思います。

ここで確認ですが、
WindowsXPの場合は、本当に All Users 配下の「デスクトップ」フォルダに保存したいのですか?

もしかして、Windowsのログインアカウント毎にデスクトップのパスが違うので、
そのようにしているだけで、本当は、ログインアカウント別のデスクトップに
保存できればいいということではないのですか?

それであれば、
SpecialFolders("AllUsersDesktop")
の部分を
SpecialFolders("Desktop")
とすれば、できるのですが、いかがでしょうか?

【67105】Re:Win7で保存マクロが機能しません
お礼  いわま  - 10/11/4(木) 0:43 -

引用なし
パスワード
   こんばんは。お世話になります。

>もしかして、Windowsのログインアカウント毎にデスクトップのパスが違うので、
>そのようにしているだけで、本当は、ログインアカウント別のデスクトップに
>保存できればいいということではないのですか?
>
>それであれば、
>SpecialFolders("AllUsersDesktop")
>の部分を
>SpecialFolders("Desktop")
>とすれば、できるのですが、いかがでしょうか?

保存できました!
XP,Vista,7で問題なくデスクトップに保存できました。
本当に困っていたので助かりました。
ありがとうございました。

【67495】Re:Win7で保存マクロが機能しません
発言  [名前なし]  - 10/12/9(木) 13:20 -

引用なし
パスワード
   >>それであれば、
>>SpecialFolders("AllUsersDesktop")

これは本当のALL USERS

>>の部分を
>>SpecialFolders("Desktop")
>>とすれば、できるのですが、いかがでしょうか?

これは従来のUSER

>保存できました!
>XP,Vista,7で問題なくデスクトップに保存できました。

でも、ほかのユーザーでログオンしたら
デスクトップには表示されません

2524 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free