※ ChatGPTを利用し、要約された質問です(原文:Shell関数内で変数を使うことについて)
Shell関数内で変数を使うことについて
このQ&Aのポイント
AccessVBAからExcelファイルを開く際のShell関数内で変数を使用する方法について教えてください。
Shell関数内で半角スペースを含む変数を使用する場合、どのように記述すれば良いのか教えてください。
変数の中身に半角スペースが存在する場合、その半角スペースを回避する方法について教えてください。
お世話になります。
MicrosoftのサイトやAccessVBAのヘルプ、各種掲示板を拝見してもぴったりくるものが見つからなかったので教えていただきたく思います。
AccessVBAからExcelファイルを開きたいと思っています。
コマンドボタンウィザードを参考にして、
Call Shell("Excel.exe フルパス"vbMaximizedFocus)としました。
フルパスは変数を使用しております。
変数は2つの変数と&で結んだ文字列で構成されています。内容は以下の通りです。
MyCurrent & "\" & MyFile & ".xls"
(MyFile = InputBox("保存したいファイル名を入力できます。", "ファイル名)、MyCurrent = Application.GetOption("Default Database Directory")を意味します。InputBoxでユーザーにファイル名を決定してもらい、既定のデータベースフォルダにそれを保存させます。)
MyCurrentの中身は私のPCの場合はC:\Documents and Settings\●\デスクトップです(●=私の名前。スペースなし)。
ここで問題なのですが、Micorsoftのサイトによると、Shell関数内で半角スペースを含むフルパスやファイル名を記述すると、うまくいかないので"(ダブルコーテーション)を入力する必要があるとありました。
変数ではなく、普通にフルパスを入力する際には"を記述してファイルを開くことができたのですが、変数の場合それをどのようにしたら良いのかわからないのです。
変数そのものには半角スペースがなくても、変数の中身に半角スペースが存在する場合はその半角スペースをどのように回避したらよいのでしょうか?
もしかして、変数の中身にあった場合は駄目なのでしょうか?
長文で申し訳ありませんが、よろしくお願いいたします。
お礼
gatyanさん、ありがとうございました! できました! 感激です。 昨晩いろんなサイトを調べてもよくわからなかったのに、gatyanさんの一言でほんの少しの時間で解決できてしまいました。 VBAにおいて、単純に文字列を囲む以外の「"」や「'」のつけかたが難しく、これからもっと勉強しなければと思います。 本当にありがとうございました。