[[20131124170122]] 『エクセルバージョン変更したら』(りんご) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『エクセルバージョン変更したら』(りんご)

 いつもこちらで勉強させて頂いております。
 この度も宜しくお願い致します。

 先日、社内のPCをWindowsXPからWindows 7に入れ替えました。
 それに伴ってExcel2007で作成したファイルをExcel2013で作成し直しました。
 ユーザーフォームを作成し、VBAがあるファイルなんですが、
 全く同じ形で作成し、ファイルの拡張子等も修正して動作確認したところ
 以下の部分だけエラーが出てしまいます。

 Private Sub Button1_Click() 

 Dim targ As String
    targ = ThisWorkbook.Path & "\追加工事\" & コード.Value

    If Len(Dir(targ, vbDirectory)) > 0 Then
        If (GetAttr(targ) And vbDirectory) = vbDirectory Then
            Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus
            Exit Sub
        End If
    End If

    MsgBox "指定のフォルダはありません"

 エラーが出てしまうのは
 If Len(Dir(targ, vbDirectory)) > 0 Then の部分で
 「ファイル名または番号が不正です」と出てきます。
 以前と全く同じなのに動かないのです。

 何か考えられる原因等がありましたらご教授頂ければ幸いです。
 宜しくお願い致します。

 *追記*
 Private Sub Button1_Click()

 Dim targ As String
 targ = ThisWorkbook.Path & "\追加工事\" & コード.Value
 Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus

 End Sub

 このコードだけだと指定のフォルダを開いてくれます。
 フォルダがない場合に「存在しません」というメッセージを表示させるには
 どのようにすればよいのでしょうか?
 合わせてご教授の程、宜しくお願い致します。
(りんご) 2013/11/24(日) 17:51

 2010 と 2013 で上記コードを試してみましたけれど、「ファイル名または番号が不正です」
 というエラーは出ませんでした。

 エラー発生時の コード.Value は何でしょうか。
 If 文の前に
 MsgBox targ
 としたら、実際のフォルダパスが表示されるでしょうか。

 原因がわからないので代替案ですけれど、下記のようにしてもエラーが出るでしょうか。
 Private Sub Button1_Click()
    Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")

    Dim targ As String
    targ = ThisWorkbook.Path & "\追加工事\" & コード.Value

    If fso.FolderExists(targ) = True Then
        Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus
    Else
        MsgBox "指定のフォルダはありません"
    End If
 End Sub

(Mook) 2013/11/24(日) 17:56


 Mook様 ありがとうございます。

 >コード.Value は何でしょうか
 こちらはユーザーフォムに作成しておりますTextBoxです。
 オブジェクト名を「コード」としております。
 言葉足らずで申し訳ございません。
 この「コード」と同じ名前のフォルダを開くようにしております。

 >If 文の前に
 MsgBox targ
 としたら、実際のフォルダパスが表示されるでしょうか。
 こちらは問題なく実際のフォルダパスが表示されました。

 Mook様よりご教授頂いたコードで希望通りの動作が出来ました。
 ありがとうございます。
 2013で作成していく中で、さっきは上手くいったのに、
 今度は出来ないといった 現象が頻繁に起こっています。
 例えば・・
 誰も使っていないのに終了する時に他のユーザーが使用中ですという
 エラーが出たりします。

 Windowsのバージョンを変更したから?セキュリティソフトとの関係性?
 等、毎日悩んでおります。

 この度の問題はMook様のおかげで解決しそうです。
 また何かありましたらご質問させて頂きます、本当にありがとうございました。

(りんご) 2013/11/24(日) 18:07


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.