Excel2000を会社で使用しています。

ファイル名を  123-45-[A]
のように、[]を使いたいのですが、「ファイル名を付けて保存」でエラーメッセージが出てしまいました。

なぜ、この記号が使えないのでしょうか。
はじめに[]は使わないで、後からファイル名を編集すれば使えるのですが。そのまま使うと、なにか不都合なことが起きますか?

記号は、全角にすれば使えると他のページでみましたが、本当でしょうか。

どうぞ教えてください、お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは


質問文から Windows というよりもエクセルの都合ですね。
エクセルでは、他のブックのシート中のセルを参照できますが、その時に下記のように半角 "[" と "]" を目印として使います。 ファイル名にこの目印が混じっているとエクセルは正しく判断できなくなるためにチェックし制限していると思われます(トラブルの予防的処置)。
=[ExcelSample.xls]Sheet2!$A$3

全角 "[" と 半角 "[" は、全く別のものですから全角ではチェックに引っ掛からないのでしょう。
    • good
    • 0

マイクロソフトの説明も参照してください。


Excel のファイル名にカッコなどの記号を含むとエラーメッセージが表示される
http://support.microsoft.com/kb/822958/ja
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QEXCELファイルのカレントフォルダを取得するには?

EXCELファイルのカレントフォルダを取得するには?

C:\経理\予算.xls

D:\2005年度\予算.xls

EXCEL97ファイルがあります。

VBAで
  カレントフォルダ名
(C:\経理\,D:\2005年度\)
を取得する事は可能でしょうか?

CURDIRでは上手い方法が見つかりませんでした。

Aベストアンサー

こんばんは。
Excel97 でも、同じですね。以下で試してみてください。

Sub test()
'このブックのパス
a = ThisWorkbook.Path
'アクティブブックのパス
b = ActiveWorkbook.Path
'Excelで設定されたデフォルトパス
c = Application.DefaultFilePath
'カレントディレクトリ
d = CurDir
MsgBox "このブックのパス   : " & a & Chr(13) & _
   "アクティブブックのパス: " & b & Chr(13) & _
   "デフォルトパス    : " & c & Chr(13) & _
   "カレントディレクトリ : " & d & Chr(13)
End Sub

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

QDirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)

いろいろ調べましたが不明な点があり、質問します。

WindowsのDOSプロンプトでdirコマンドを打つとフォルダ・ファイルの一覧が表示されますが、その中にファイルサイズが表示されています。
このサイズを合計できるコマンドはありませんか?
DIRコマンドのオプションを調べましたがそれらしいものが見当たりません。
具体的には
C:\xxx\配下に50個程度のファイルがあります。
その50個の合計サイズを知りたいです。
xxxフォルダの親フォルダにはアクセス不可です。

ずーっと悩んでいます。よろしくお願いします。

なお、OSはWindowsNTか2000で使用予定です。

Aベストアンサー

カレントドライブ、カレントフォルダを
C:\xxx\
にした状態で、

dir /s /a-d

/sパラメータででサブディレクトリすべてを検索
/a-dパラメータでディレクトリ以外のファイル(つまり属性に関係なくすべてのファイル

これを実行すると最後にファイルの個数とファイルサイズの合計を表示します。

もし、隠し属性のファイルは合計しないのであれば、

dir /s

だけで良いと思われます。

QエクセルのIF文で「NOT=」はどう書くのですか?また、>=や<=の場合の書き方を教えてください

タイトルのとおりです

IF文で下記の3つの書き方がわかりません。

NOT=は、<>?
0以外の場合は、A1<>0?

A1が0と同じか、大きい場合は
A1>=0?

なんだか、うまくいきません^^;

よろしくお願いいたします

Aベストアンサー

A1が・・・・・
A1 <> 0  0以外
A1 >= 0  0以上(0を含む)
A1 > 0   0より大きい(0は含まない)
A1 <= 0  0以下(0を含む)
A1 < 0  0未満
A1 = 0  0

=<,=> などの書き方は使えません。

Q【Excel VBA】マクロでExcel自体を終了させたい

環境:WindowsXP、Excel2003

マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。

ThisWorkbook.Close
ExcObj.Quit
Application.Quit

どこか悪いところはありますでしょうか?

よろしくお願いします。

Aベストアンサー

普通に考えれば質問者のコードで上手くいきそうですが
hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので
Application.QuitをThisWorkBook.Closeの前にもってこないといけません。
Application.Quitはそれがあるプロシージャのコードが全て終わるまで
その実行を保留するちょと特別動作をします。

'-------------------------------------
 Application.Quit
 ThisWorkbook.Close
'-------------------------------------
 
 

QEXCEL VBAで計算値を四捨五入、切り上げ、切捨てする方法

ネットで探してみたのですが、計算結果を四捨五入して特定のセルを
返すにはどうしたらいいのでしょうか?

Sub hokangosa()

Dim ZPS As Double
Dim ZPOS As Double
Dim DMN As Double
MsgBox (" >>> 補間誤差自動計算 <<< ")
MsgBox (" >>> 初期値入力します <<< ")
ZPS = InputBox(">>> ステップを入力してください<<<")
ZPOS = Sheet1.Cells(22, 4).Value
DMN = ZPOS / ZPS
Sheet1.Cells(23, 6).Value = DMN
End Sub

ここでDMNの値を四捨五入したいです。

またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。

Aベストアンサー

DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0)
で、四捨五入
DMN = Application.RoundDown(ZPOS / ZPS, 0)
で切り捨て
DMN = Application.RoundUp(ZPOS / ZPS, 0)
で切り上げです。

引数で、対象桁を変更できます。

Q別のシートから値を取得するとき

Worksheets("シート名").Activate
上記のを行ってから別シートの値を取得するのですが、
この処理を行うと指定したシートへ強制的にとんでしまいます。。。

※イメージ
For ~ To ~
  Worksheets("シートA").Activate
  シートAの値取得
       :
  Worksheets("シートB").Activate
  シートBの値取得
Next

このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。
シートを変えずに他のシートから値を取得する方法はないのでしょうか。
教えてください!

Aベストアンサー

Worksheets("シートA").Range("A1")

みたいな感じでできませんか?

Q禁止文字チェック

現在VB6.0の勉強をしております。

すごく初歩的な質問だとは思いながらも、自分で調べられなかったので質問させてください。
テキストボックスに入力された文字列に許可文字以外が入力された場合にエラーとしたいのですが、方法が分かりません。
C言語の用に文字列を添え字指定でループ出来れば良いんですが、VBだと、どのように行うのでしょうか?

一応自分で調べ、似たような質問を見つけたんですが、私の場合は禁止文字が多すぎるので、それを一つずつチェックするのは無謀かなと思いまして・・・・。
http://oshiete1.goo.ne.jp/qa2174793.html

ちなみに許可文字は、半角カタカナと'0'~'9'と'A'~'Z'です。
それ以外の文字が含まれている場合はエラーにしたいです。

どうかよろしくお願いいたします。

Aベストアンサー

>「正規表現」の部分は「変数」という意味なんでしょうか?
変数名や関数名を漢字にしただけです。お好みで変えてもらって
結構です。
>のような感じでしょうか?
そうです。
>はやはり分けて記載すべきですか?
分けて記載すると正しく動作しません。禁止文字(検出パターン)は
同時に記述しなければなりません。
>「*」や「-」もパターン指定したい
「正規表現の構文」見ました?書いてあるんだけどね・・・
(1)[xyz] x 、 y 、 z のいずれかと一致する
(2)[^xyz] x 、 y 、 z のいずれとも一致しない
 今回はこのパターンで"\d"(数字)、"A-Z"(A~Z)、"。-゜"(半角カナ)
 という具合で、否定の^があるから、いずれにも該当しない文字を
 検索するという意味です。
(3)\(バックスラッシュ)は特殊文字をエスケープします。
 「*」と[ ] 内の「-」は特殊文字なので、エスケープが必要です。

と、ここまで書けば正解を書けますよね?
分けて記載するとオカシくなる原因も理解できましたか?
VB6なんだからデバッガでいろいろ試してみて、体で覚えるのが
一番です。

オマケ:"[^\dA-Z。-゜\*\-]"

>「正規表現」の部分は「変数」という意味なんでしょうか?
変数名や関数名を漢字にしただけです。お好みで変えてもらって
結構です。
>のような感じでしょうか?
そうです。
>はやはり分けて記載すべきですか?
分けて記載すると正しく動作しません。禁止文字(検出パターン)は
同時に記述しなければなりません。
>「*」や「-」もパターン指定したい
「正規表現の構文」見ました?書いてあるんだけどね・・・
(1)[xyz] x 、 y 、 z のいずれかと一致する
(2)[^xyz] x 、 y 、 z のいずれとも一致し...続きを読む

QVBA オブジェクトが空かどうか判定する

皆様のお知恵を拝借させてください。

エクセルVBAでオブジェクトを入れる変数を定義し、その変数にオブジェクト
が入っているかどうか検査したいのですがどうしたらいいでしょうか。

例えば---
Dim a As Workbook
If a <> nothing then ←この部分が分からない。このままだとエラー。
処理
End if
---------
環境
エクセル2003
WinXPsp1

Aベストアンサー

もし、aが空だったら
If a Is Nothing Then 

もし、aが空じゃなかったら
If Not a Is Nothing Then

Q「いずれか」と「いづれか」どっちが正しい!?

教えて下さいっ!
”どちらか”と言う意味の「いずれか」のかな表記として
「いずれか」と「いづれか」のどちらが正しいのでしょう???

私は「いずれか」だと思うんですが、辞書に「いずれか・いづ--。」と書いてあり、???になってしまいました。
どちらでもいいってことでしょうか?

Aベストアンサー

「いずれか」が正しいです.
「いづれ」は「いずれ」の歴史的かな遣いですので,昔は「いづれ」が使われていましたが,現代では「いずれ」で統一することになっていますので,「いずれ」が正しいです.


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング