前画面で入力したプロフィール情報を画面を移動した先(TabBarControllerの内の一つのView(Profile.swift))に表示したいです。
Profile_Setting.swiftのguard let profile = tab.~
*の部分を何を書けばいいのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/21 06:29 編集

回答3件
0
VBA - VBA ツリービューからファイル印刷(132027)|teratail
上記の質問で希望に沿う回答がなかったので質問しなおしたのですね。
上記ではツリービュー以外の方法がいくつか提案されていたが、それでは満足できなかったということですね。
CheckBox付きTreeViewのTips紹介
にあるようなCheckBox付きTreeViewを使えばどうでしょう。このリンク先はC#ですが、VBAでも可能です。
かなりのスキルが必要になりますが、下記等を参考にチャレンジしてみてください。
Office TANAKA - Excel VBA Tips[TreeViewコントロールの使い方]
リストボックスの2列表示については、下記をご参考に。
Office TANAKA - Excel VBA Tips[複数列のリストボックス]
ツリービューで作成してみた
将来使うことがあるかもしれないので、ツリービューの勉強がてら作成してみました。
ユーザーフォーム上にツリービュー(TreeView1)を配置します。
配置の仕方は上記の Office TANAKA のリンク先を参考にしてください。
他に下記のコントロールを配置します。
イメージリストと連携させてアイコンも表示できるようだが、私の環境ではエラーが出てアイコンが登録できなかったのでアイコンはなしです。
コマンドボタン
cmdBookPrint 選択したブックの印刷
cmdSelectFolder 親フォルダの選択
テキストボックス
txtRootFolder 親フォルダのパス格納用
ユーザーフォームのモジュール
vba
1Option Explicit 2 3Private Sub cmdBookPrint_Click() 4 Dim n As Node 5 For Each n In TreeView1.Nodes 6 If n.Checked And n.Children = 0 Then 7 Debug.Print n.FullPath 8 End If 9 Next 10End Sub 11 12Private Sub cmdSelectFolder_Click() 13 With Application.FileDialog(msoFileDialogFolderPicker) 14 .InitialFileName = txtRootFolder.Value 15 .AllowMultiSelect = False 16 .Title = "親フォルダの選択" 17 If .Show Then txtRootFolder.Value = .SelectedItems(1) 18 End With 19 TreeView1.Nodes.Clear 20 InitFileTreeView 21End Sub 22 23Private Sub UserForm_Initialize() 24 txtRootFolder.Value = "C:\PFolder" 25 With TreeView1 26 .CheckBoxes = True 27 .Indentation = 14 ''インデントの幅 28 .LabelEdit = tvwManual ''ラベル編集の許可 29 .BorderStyle = ccNone ''線の種類 30 .HideSelection = False ''非アクティブ時の選択解除 31 .LineStyle = tvwRootLines ''ルート(最上位)線の表示 32 End With 33 34 InitFileTreeView 35End Sub 36 37Sub InitFileTreeView() 38 Dim objFSO As FileSystemObject 39 Dim strDir As String 40 Dim i As Long 41 42 strDir = txtRootFolder.Value 43 'FileSystemObjectのインスタンスの生成 44 Set objFSO = New FileSystemObject 45 'フォルダの存在確認 46 If Not objFSO.FolderExists(strDir) Then 47 MsgBox ("指定のフォルダは存在しません") 48 Exit Sub 49 End If 50 '親フォルダーの登録、展開 51 TreeView1.Nodes.Add(Key:="n0", Text:=strDir).Expanded = True 52 i = 1 'キーインデックス 53 '再帰処理モジュールのコール 54 Call GetDirFiles(objFSO.GetFolder(strDir), i, "n0") 55 'オブジェクトの解放 56 Set objFSO = Nothing 57End Sub 58 59Sub GetDirFiles(ByVal objFolder As Folder, ByRef i As Long, ByVal PKey As String) 60 Dim objFolderSub As Folder, objFile As File 61 Dim n As Node 62 'サブフォルダの取得 63 For Each objFolderSub In objFolder.SubFolders 64 i = i + 1 65 Set n = TreeView1.Nodes.Add(Relative:=PKey, Relationship:=tvwChild, _ 66 Key:="n" & i, Text:=objFolderSub.Name) 67 Call GetDirFiles(objFolderSub, i, "n" & i) 68 If n.Children = 0 Then 69 TreeView1.Nodes.Remove n.Index 70 Else 71 n.Expanded = True 72 End If 73 Next 74 'ファイルの取得 75 For Each objFile In objFolder.Files 76 With objFile 77 If .Type = "Microsoft Excel ワークシート" Then 78 i = i + 1 79 TreeView1.Nodes.Add Relative:=PKey, Relationship:=tvwChild, _ 80 Key:="n" & i, Text:=.Name 81 End If 82 End With 83 Next 84 'オブジェクトの解放 85 Set objFolderSub = Nothing 86 Set objFile = Nothing 87End Sub
投稿2018/06/21 06:41
編集2018/06/23 17:43総合スコア34347
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2018/06/21 07:47

退会済みユーザー
2018/06/21 08:01

退会済みユーザー
2018/06/21 09:07 編集

退会済みユーザー
2018/06/22 02:35

退会済みユーザー
2018/06/22 05:35 編集

0
①ユーザーフォーム上にファイルを開くダイアログ、もしくはエクスプローラのような画面を表示
もしくはって言っててダイアログのは実現できているのでいいですよね。
もしフォーム上でエクスプローラー風の画面を作りたいなら、TreeViewコントロールなんかで実現できると思います。
TreeView自体は汎用的なものなので、自力でファイルを取得してツリーを構築する必要があります。
そこまでする必要があって自力でできなさそうなら改めて質問をあげてください。
②
パス名の取得は既にラベルに設定しているのでわからないわけではないですよね。
よってリストボックスの使い方がわからない、ということでよろしいでしょうか。
With内のみ抜粋ですが、こんな感じにすればよいかと思います。
VBA
1 With Me.BookInput 2 .Clear 3 'リストボックスにファイル名を表示 4 For Each Target In OpenFileName 5 Filename = Dir(Target) 6 Pathname = Replace(Target, Filename, "") 7 .AddItem "" 8 .List(BookInput.ListCount - 1, 0) = Filename 9 .List(BookInput.ListCount - 1, 1) = Pathname 10 Next Target 11 'ファイルのあるフォルダーのパスをラベルに表示 12 Me.lblPath.Caption = .List(0, 1) 13 End With
ただこれって意味あります?
ファイル選択ダイアログで取得できるファイルは、同じフォルダが対象なので、全部の行に同じパスが設定されますし、ラベルにもパスが設定されます。
何がしたいのか要件を見直してみてください。
追記
リストボックスのColumnCount
プロパティは2
にしておいてください。
投稿2018/06/21 06:31
編集2018/06/21 06:42総合スコア17000
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
「vba ファイル選択ダイアログ」でぐぐってみればどうでしょう
投稿2018/06/21 06:08
総合スコア88163
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。