dポイントプレゼントキャンペーン実施中!

お世話になります。
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関数内で半角スペースを含むフルパスやファイル名を記述すると、うまくいかないので"(ダブルコーテーション)を入力する必要があるとありました。
変数ではなく、普通にフルパスを入力する際には"を記述してファイルを開くことができたのですが、変数の場合それをどのようにしたら良いのかわからないのです。
変数そのものには半角スペースがなくても、変数の中身に半角スペースが存在する場合はその半角スペースをどのように回避したらよいのでしょうか?
もしかして、変数の中身にあった場合は駄目なのでしょうか?

長文で申し訳ありませんが、よろしくお願いいたします。

A 回答 (1件)

変数の中身が単に1つのファイルへのパスだけなら、


"""" & filepath & """" の様に最初と最後にくっつけます
filepathにフルパスで入っているとして
    • good
    • 4
この回答へのお礼

gatyanさん、ありがとうございました!
できました!
感激です。
昨晩いろんなサイトを調べてもよくわからなかったのに、gatyanさんの一言でほんの少しの時間で解決できてしまいました。
VBAにおいて、単純に文字列を囲む以外の「"」や「'」のつけかたが難しく、これからもっと勉強しなければと思います。
本当にありがとうございました。

お礼日時:2007/09/30 12:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています