『Title部分が長いので2行に分けて表示したい』(プレーン)
以下のようなコードを利用していますが
Title部分が長いので2行に分けて表示したいのですが
単純に msgboxのように「& vbCrLf & 」で2行に分けてもダメでした。
コードをどうのように変更したらいいですか ?
' フォルダ選択ダイアログを表示 With Application.FileDialog(msoFileDialogFolderPicker) .Title = "A列にターゲットのListを配置するのでテキストファイルが含まれるフォルダーを選択してください" .AllowMultiSelect = False If .Show = -1 Then folderPath = .SelectedItems(1) Else MsgBox "フォルダーが選択されませんでした。", vbExclamation Exit Sub End If End With
< 使用 アプリ:Excel2024、使用 OS:Windows11 >
根本的な解決方法ではないですが、とりあえずの代替案 です。
Sub fsentaku() Dim obj As Object Dim myObj As Object Set obj = CreateObject("Shell.Application") Set myObj = obj.BrowseForFolder(0, "選択して下さい。" & vbCrLf & "複数可", 0) Err.Clear On Error Resume Next MsgBox myObj.Items.Item.Path If Err.Number <> 0 Then MsgBox "キャンセル" On Error GoTo 0 End Sub
(OK) 2025/03/05(水) 17:30:40
↑で「複数可」と書いてますが、このコードでフォルダを 複数選択できる、ということではありません。 (OK) 2025/03/05(水) 17:33:21
回答ではなく感想 ^^;
「A列にターゲットのListを配置するので」という情報は、 FileDialogを開く前にユーザーが既に認識してる状況である方が操作が自然に流れる思います。 そのつもりで事前(おそらくマクロ実行よりも前)に別の方法で表示した方がいいんじゃないかなと。 (ダイアログウインドウ出てから言われても「はいはい分かってますよ〜」ってなるくらいを目指すってこと)
ていうのと、 ダイアログウインドウのタイトルバーなんて大半の人は読まないですよたぶん。^^; 操作説明っぽい事を書いても効果は期待出来ないと思いますよ。
通常は「何のダイアログなのか」だけ端的に表明できれば事足りるのではないでしょうか。 .Title = "フォルダを選択してください" .Title = "フォルダの選択"
ちょっと説明を長めに書くとしてもせいぜい .Title = "テキストファイルが含まれるフォルダを選択してください" とか... って思いました。
(白茶) 2025/03/05(水) 17:51:50
代替え案が出ましたが
ExcelのFileDialogのTitleプロパティは、単一行の文字列しか受け付け無いのですね。
自分の為のVBAで他の人に使わせる目的では無いのですが 月日が経つと当該マクロの使用法をすっかり忘れてします事がままあります。
.Title =を表示する前に
MSGBOXで2行に渡る説明的な表示を出すことにしました。
お探せしました。
(プレーン) 2025/03/05(水) 18:32:23
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.