Excel VBA質問箱 IV

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

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


11285 / 13644 ツリー ←次へ | 前へ→

【16909】指定したフォルダのパスの取得 ゆう 04/8/16(月) 2:56 質問[未読]
【16910】Re:指定したフォルダのパスの取得 IROC 04/8/16(月) 8:35 回答[未読]
【16945】Re:指定したフォルダのパスの取得 ゆう 04/8/16(月) 23:06 質問[未読]
【16947】Re:指定したフォルダのパスの取得 IROC 04/8/17(火) 0:05 回答[未読]
【16948】Re:指定したフォルダのパスの取得 ゆう 04/8/17(火) 0:08 質問[未読]
【16949】Re:指定したフォルダのパスの取得 IROC 04/8/17(火) 8:40 回答[未読]
【16951】Re:指定したフォルダのパスの取得 Jaka 04/8/17(火) 9:13 発言[未読]

【16909】指定したフォルダのパスの取得
質問  ゆう  - 04/8/16(月) 2:56 -

引用なし
パスワード
   指定したフォルダのパスをセルA1に取得したいのですがどうしたらよいのでしょうか?
フォルダの指定の仕方がダイアログボックスを開いてユーザーが任意にフォルダを
指定しそのパスを取得するというものなのですが可能でしょうか?

【16910】Re:指定したフォルダのパスの取得
回答  IROC  - 04/8/16(月) 8:35 -

引用なし
パスワード
   WSHでフォルダ選択ダイアログボックスを開いくことができます。


Dim Obj As Object

  Set Obj = CreateObject("Shell.Application"). _
  BrowseForFolder(0, "フォルダを選択してください", 0)

  If Obj Is Nothing Then Exit Sub
  
  Range("A1").Value = Obj.Items.Item.Path

【16945】Re:指定したフォルダのパスの取得
質問  ゆう  - 04/8/16(月) 23:06 -

引用なし
パスワード
   ▼IROC さん:
>WSHでフォルダ選択ダイアログボックスを開いくことができます。
>
>
>Dim Obj As Object
>
>  Set Obj = CreateObject("Shell.Application"). _
>  BrowseForFolder(0, "フォルダを選択してください", 0)
>
>  If Obj Is Nothing Then Exit Sub
>  
>  Range("A1").Value = Obj.Items.Item.Path
お返事ありがとうございます。早速試してみたところうまくいきました。
ただデスクトップを選択すると
「オブジェクト変数またはWithブロック変数が設定されていません」
と出るのですがこれは仕方ないのでしょうか?

【16947】Re:指定したフォルダのパスの取得
回答  IROC  - 04/8/17(火) 0:05 -

引用なし
パスワード
   OSは何ですか?

【16948】Re:指定したフォルダのパスの取得
質問  ゆう  - 04/8/17(火) 0:08 -

引用なし
パスワード
   ▼IROC さん:
>OSは何ですか?
Win98セカンドエディションとWindowsXPを使っています。

【16949】Re:指定したフォルダのパスの取得
回答  IROC  - 04/8/17(火) 8:40 -

引用なし
パスワード
   エラー判別で対応してみました。

Dim Obj As Object
Dim myDir As String

  Set Obj = CreateObject("Shell.Application"). _
  BrowseForFolder(0, "フォルダを選択してください", 0)

  If Obj Is Nothing Then Exit Sub
  
  On Error Resume Next
    myDir = Obj.Items.Item.Path
    
    If Err.Number = 91 Then
      myDir = CreateObject("WScript.Shell").SpecialFolders("Desktop")
      Err.Clear
    End If
  On Error GoTo 0
  
  Range("A1").Value = myDir

【16951】Re:指定したフォルダのパスの取得
発言  Jaka  - 04/8/17(火) 9:13 -

引用なし
パスワード
   XPについては解らんけど、IVにも書いたと思うんで1度検索してみてね。
こちらにも書いておいたんで、こういうところも見てください。

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=62;id=FAQ

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