Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


205 / 3841 ページ ←次へ | 前へ→

【78352】Re:特定のキーワードを含むファイルだけ...
発言  マナ  - 16/7/22(金) 22:41 -

引用なし
パスワード
   ▼ぽん さん:
参考になりますか。

Sub test()
  Dim wb As Workbook
  
  For Each wb In Workbooks
    MsgBox wb.Name
  Next
  
End Sub

他に、何が必要か考えてみて
わからないことがあれば教えてください。
・ツリー全体表示

【78351】特定のキーワードを含むファイルだけ閉じ...
発言  ぽん  - 16/7/22(金) 19:28 -

引用なし
パスワード
   質問させていただきます。
マクロ初心者です。

特定キーワードをファイル名に含むファイルだけ全て閉じるようにしたいです。
どうすればよいでしょうか?

よろしくお願いいたします。
・ツリー全体表示

【78350】Re:「FileSearch」代替クラスの作り方
発言  Gyouko  - 16/7/22(金) 16:55 -

引用なし
パスワード
   ご説明いただいた内容を元に色々と試してみましたが、
今のところ解決に至っておりません。

もう少し格闘してみたいと思います。
・ツリー全体表示

【78349】Re:疑問に思い、、、
発言    - 16/7/21(木) 6:29 -

引用なし
パスワード
   こんにちは。

意味は有るような無いような。

Rangeという語は英語では、領域とか領土とかの意味なので
エクセルVBAの仕様を決めた人は、シート上のセル範囲を表す語
として、ふさわしいと考えたのでしょう。なにがなんでもRange
に限るというほどではなくても。
ただし、いったんRangeで行くと決まってしまったら、絶対です。
われわれ利用者は勝手に他の単語を使うわけには行きません。

一方、文字列をあらわす""はRangeのような意味は有りません。
ではどんな記号でもよかったかというと、さにあらず。
英語の文章では、たとえば「.」や「,」には意味があり
文字列のなかに含まれてくる可能性が高い。
そんなのを文字列を表す記号にすると、ややこしいので
""は意味の無いところがポイントだったわけです。


▼yuuta さん:
>▼β さん:
>>
>>逆に質問しますが 領域をあらわすのに なぜ Range(なんたら) と Range というスペルのワードを使わなければいけないのでしょう?
>>どんな言語にも、その言語の表記規約として、定められたキーワードや定められた記述用法があります。
>>
>>で、VBAでは 【文字列】を生成するときには "こんにちは" と、先頭と末尾に " をつける。
>>これが、規約です。
>>
>>もし、" をつけずに 単に こんにちは と記述すると、それは こんにちは という名前を持つ変数になります。
>>
>>理屈はありません。そういう言語仕様です。
>>
>>繰り返します。
>>" は VBA では 文字列のはじめ と 文字列の終わり を意味する特殊文字です。
>
>ちゃんと意味があったようですね。ありがとうございました。
・ツリー全体表示

【78348】Re:疑問に思い、、、
お礼  yuuta  - 16/7/20(水) 22:06 -

引用なし
パスワード
   ▼β さん:
>
>逆に質問しますが 領域をあらわすのに なぜ Range(なんたら) と Range というスペルのワードを使わなければいけないのでしょう?
>どんな言語にも、その言語の表記規約として、定められたキーワードや定められた記述用法があります。
>
>で、VBAでは 【文字列】を生成するときには "こんにちは" と、先頭と末尾に " をつける。
>これが、規約です。
>
>もし、" をつけずに 単に こんにちは と記述すると、それは こんにちは という名前を持つ変数になります。
>
>理屈はありません。そういう言語仕様です。
>
>繰り返します。
>" は VBA では 文字列のはじめ と 文字列の終わり を意味する特殊文字です。

ちゃんと意味があったようですね。ありがとうございました。
・ツリー全体表示

【78347】Re:疑問に思い、、、
発言  β  - 16/7/20(水) 21:57 -

引用なし
パスワード
   ▼yuuta さん:
>なぜ " を使わないといけないかと言う質問です。
>"にどういった意味があるかということです。
>緑なのになんで黒板っていうの?という質問と同じ部類なら答えんで良いです。

逆に質問しますが 領域をあらわすのに なぜ Range(なんたら) と Range というスペルのワードを使わなければいけないのでしょう?
どんな言語にも、その言語の表記規約として、定められたキーワードや定められた記述用法があります。

で、VBAでは 【文字列】を生成するときには "こんにちは" と、先頭と末尾に " をつける。
これが、規約です。

もし、" をつけずに 単に こんにちは と記述すると、それは こんにちは という名前を持つ変数になります。

理屈はありません。そういう言語仕様です。

繰り返します。
" は VBA では 文字列のはじめ と 文字列の終わり を意味する特殊文字です。
・ツリー全体表示

【78346】Re:疑問に思い、、、
発言  カエムワセト  - 16/7/20(水) 21:54 -

引用なし
パスワード
   なぜ文字列を""で括らないといけない仕様になっているのか?という質問でしたらVBAの開発者に聞いてください、としか
言えません。

また、回答者は常にお子ちゃまを相手にしているわけではないので、質問は具体的に、だれが見ても質問の意図が分かる
ようにしましょう。
・ツリー全体表示

【78345】Re:疑問に思い、、、
発言  yuuta  - 16/7/20(水) 21:32 -

引用なし
パスワード
   なぜ " を使わないといけないかと言う質問です。
"にどういった意味があるかということです。
緑なのになんで黒板っていうの?という質問と同じ部類なら答えんで良いです。
・ツリー全体表示

【78344】Re:疑問に思い、、、
発言  β  - 16/7/20(水) 21:03 -

引用なし
パスワード
   ▼yuuta さん:

>なるほど、、ダブルクォーテーションの意味がわかれば解決するということですね、、、

ん?
意味がよくわかりませんけど、VBAで文字列をあらわすときには

"文字列" と記述する、ただ、それだけのことですが?
・ツリー全体表示

【78343】Re:疑問に思い、、、
発言  yuuta  - 16/7/20(水) 19:17 -

引用なし
パスワード
   なるほど、、ダブルクォーテーションの意味がわかれば解決するということですね、、、
・ツリー全体表示

【78342】Re:疑問に思い、、、
発言  β  - 16/7/20(水) 19:06 -

引用なし
パスワード
   ▼yuuta さん:

たとえば シート上では =SUM(A1:A10) と書くことができるというか、
そう書かなければいけないのに、なぜ VBA では Range("A1:A10") と書かなければいけないのか??
ということですね。

そうですねぇ。
Rangeの書き方は多種多様ですが、そのなかで、情報として セル領域アドレス文字列(A1:A10等)を与える書き方の場合、
VBAでいうところの【文字列】には、必ず、前後に "をつけることが必要という、まぁ、これもお約束です。

で、このルールは Range のルールではなく【文字列】のルールです。

たとえば

MsgBox "こんにちは"

この場合にも、こんにちは の前後に " を付けますよね。
・ツリー全体表示

【78341】疑問に思い、、、
質問  yuuta  - 16/7/20(水) 18:40 -

引用なし
パスワード
   Rangeを使うときに、"(ダブルクォーテーション)が必要なのはなぜなのでしょうか!?
本で調べても載ってませんでした(^-^;
・ツリー全体表示

【78340】Re:「FileSearch」代替クラスの作り方
発言  γ  - 16/7/20(水) 7:01 -

引用なし
パスワード
   >「On Error GoTo ABORT」とあり、ABORTに飛ぶ直前の行は以下の行でした。
>これがエラーになっているという理解でよいのでしょうか。
> For Each oSubFolder In oFolder.SubFolders
On Error GoTo ABORT をコメント文にして無効にした上で実行してみてください。
エラーになったときのoFolderの内容をローカルウインドウで
確認してみては?
・ツリー全体表示

【78339】Re:「FileSearch」代替クラスの作り方
発言  Gyouko  - 16/7/19(火) 23:10 -

引用なし
パスワード
   ▼γ さん:
>▼Gyouko さん:
>>>>ステップ実行を行いましたが、下記の行を実行した後に表示されます。  
>>>>Call MsgBox(Err.Number & ":" & Err.Description)
>
>それはエラーが起きてしまってから、メッセージを出す部分です。
>もっと前の段階でエラーが起きているはずなので、
>ステップ実行を注意深く行って、
>どこでエラーになっているのか、よく観察してみて下さい。


「On Error GoTo ABORT」とあり、ABORTに飛ぶ直前の行は以下の行でした。
これがエラーになっているという理解でよいのでしょうか。
For Each oSubFolder In oFolder.SubFolders
・ツリー全体表示

【78338】Re:「FileSearch」代替クラスの作り方
発言  γ  - 16/7/19(火) 22:14 -

引用なし
パスワード
   ▼Gyouko さん:
>>>ステップ実行を行いましたが、下記の行を実行した後に表示されます。  
>>>Call MsgBox(Err.Number & ":" & Err.Description)

それはエラーが起きてしまってから、メッセージを出す部分です。
もっと前の段階でエラーが起きているはずなので、
ステップ実行を注意深く行って、
どこでエラーになっているのか、よく観察してみて下さい。
・ツリー全体表示

【78337】Re:「FileSearch」代替クラスの作り方
発言  Gyouko  - 16/7/19(火) 18:53 -

引用なし
パスワード
   ▼β さん:
>▼Gyouko さん:
>
>横から失礼します。
>
>>ステップ実行を行いましたが、下記の行を実行した後に表示されます。  
>>Call MsgBox(Err.Number & ":" & Err.Description)
>
>えっ??
>
>このコードはアップされたコードの中にはありませんが?

クラスモジュールの中にあるコードのようですね。
・ツリー全体表示

【78336】Re:「FileSearch」代替クラスの作り方
発言  β  - 16/7/19(火) 18:10 -

引用なし
パスワード
   ▼Gyouko さん:

横から失礼します。

>ステップ実行を行いましたが、下記の行を実行した後に表示されます。  
>Call MsgBox(Err.Number & ":" & Err.Description)

えっ??

このコードはアップされたコードの中にはありませんが?
・ツリー全体表示

【78335】Re:「FileSearch」代替クラスの作り方
発言  Gyouko  - 16/7/19(火) 7:41 -

引用なし
パスワード
   ▼γ さん:
ご確認いただき、ありがとうございます。

自宅の環境(2000)で実施した場合にエラーが出た為、質問させて頂いたのですが、
その後、試しに会社の環境(2013)で実施したところ、エラーが出ませんでした。

ステップ実行を行いましたが、下記の行を実行した後に表示されます。  
Call MsgBox(Err.Number & ":" & Err.Description)

「配下の条件に合致したパス名たちの取得ができているかどうか
確認してください。」とのことですが、確認方法が分かりません。
申し訳ございませんが、分かりやすくご教示頂けますでしょうか。
・ツリー全体表示

【78334】Re:VBAの質問です。
お礼  VBA初心者  - 16/7/18(月) 21:47 -

引用なし
パスワード
   了解です。
ありがとうございました。m(__)m
・ツリー全体表示

【78333】Re:VBAの質問です。
発言  マナ  - 16/7/18(月) 20:41 -

引用なし
パスワード
   ▼VBA初心者 さん:

select caseについて勉強したことないですか。
正答数が0、1、2のどれであるかで
メッセージを変えるように修正するとよいです。
わたしに出来るのはここまで。
・ツリー全体表示

205 / 3841 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free