
No.2ベストアンサー
- 回答日時:
通りすがりです。
>VBAではできないけど、手作業なら出来る事はあるのでしょうか?
ご質問が大雑把で、回答に当惑してしまいました。こちらの解釈が違うかもしれませんが、人間の判断の要する作業は、あくまでも、人間がすべきものであって、それは、この回答からは除外したほうがよいでしょうね。
入門編の頃には、あまり聞かないほうがよいかもしれませんが、いくつか挙げさせていただきます。
以下は、あくまでも、VBA内ということに限定させていただきます。そこから、キーボードマクロに逃がすとか、TypeLibrary やCOMを使うという半常識的な解決策は除外します。
ここからが、本題:
VBAというものは、アプリケーションのひとつの機能ではあっても、直接、アプリケーションを制御しているのではなく、そこに、インターフェイスがあって、製作者のミスなのか、アプリケーションの機能とVBAの間に結ばれていないものが存在するということです。
最初に、これは仕方がないことですが、[待機モード]上でVBAを働かすことです。
[待機モード]というのは、ワークシートで、[F2] を押した状態です。
ちょっと見かけた質問に、数式入力に、SendKey を使うというのがありましたが、初歩的なことですが、VBAでは、数式の入力の加工は動きません。入力待ちをしている状態では、VBAはストップしてしまいます。
Excelでは、[待機モード]を外す方法があっても、あくまでも、ワークシート上からの数式入力は、Sendkeyでは不可能なはずです。[外部から用いるというのは、ここでは除外します]
もうひとつ、当たり前のようでできないのが、ワークシートの外にあるものの位置情報などの処理です。Application そのものは、Window制御が利きますし、ワークシートの大きさなども処理できますが、アプリケーション上部からワークシートに至るまでの、メニュー・パレットのメニューのオン・オフ以上の処理が、例えば位置などは取れません。言い換えれば、ツールバーなどの移動ができないはずです。
それに関連して、Excelの場合のポップアップツールの一部、例えば、色塗りのパターンのグリッドの選択の制御が利きません。主なものは、Office XP時代に用意された代わりのものがあります。もちろん、VBAでは、作業そのものは、コマンドの中に、同じように代用できるのですが、あくまでも、ポップアップツールの制御が利かない、ということです。ここらも手作業になります。(たぶん、意味が分りにくいと思います。Office 2007以降は、もう少し違ってきますから、知らなくてもよいです。)
たぶん、Excel2003以降に登場してきたツールは、直接サポートされていないものがあるようです。また、Excel等で、2007以降になると、「リボン」そのものが、VBAサポート範囲外になりました。間違っているという人がいるかもしれませんが、Application.ExecuteExcel4Macro を使うということは、VBAからの別の言語の呼び出しです、あしからず。
今度は、オブジェクトですが、ずいぶん前から、グラフの一部の制御ができないということがありました。アクティブ・グラフの最初の系列の x 誤差範囲を選択するための操作が、いわゆるアプリについているVBAではできないはずです。この範疇には、他にもあるようです。
他、昔からある技術的な問題で、私が見たことがないものに、プリンタ・ドライバの制御の問題があります。別の設定されたファイルを作って、そこからVBAで、選択して動かす、という方法でしか解決案がありません。印刷周りには、いろいろ思うに任せない部分が出てきます。ネットワーク・プリンタなどの切り替えは可能ですが、その中身の設定は制御が利きません。
他にも、多少あるのですが、思い当たるところを羅列してみました。これらは、あくまでも、VBAの範疇ということで、他言語での回避策はあります。VBAは、ワークシートの関連のオブジェクトが、複合的になっているので、ややこしいのです。もし純粋にVBAで言語を学びたいなら、ワークシートや他のオブジェクトの制御や処理は無視したほうがよいでしょう。
逆に、ここの掲示板では出てこないことで、出来るということが一杯あります。OOoのスプレッドシートでマクロを組んでみて、初めて気がついたことですが、大きな違いが分かります。それは、少し上記でも書きましたが、VBAは、Microsoft 系の豊富な外部ライブラリをふんだんに使えて、それを補えることです。VBAは、VBAではないのです。VB6のオブジェクトを備えているのですが、あまり知られていません。それに、JavaScript やVBScript に、Win32 APIや、.Net Framework の一部が使えます。また、今は、どこにも出てこない隠れオブジェクトがいくつかあります。その上に、COM化したり、TypeLibrary にしたりして、自分自身でオブジェクトを作る用意もありますし、VBA内部でも、Class オブジェクトとして、私製イベントなどが作れます。
VBAを上達したいのでしたら、あまり安易な質問・回答に終始しないほうがよいと思います。VBAの勉強は、最終的には、それぞれのオブジェクトという概念とプロパティを把握することだと思っています。
No.1
- 回答日時:
確実に出来ないと保証する訳ではありませんが、ある程度勉強したというレベルだと非常に困難なことを並べてみますと、
録音した声を認識して文字にする、手書きを認識してテキストにする、テストの問題文を読んで解く、車を運転する、作曲する、プログラムを作る
など、とはいえこれらは全て専門家が実験的といったレベルから、実用段階まですでに存在しますが、簡単に作ろうとするのは難しいでしょう。
しかし人間にはできると思います。皆が100%できる訳ではありませんが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Excel(エクセル) ExcelのFSO(ファイルシステムオブジェクト)について学びたいのですが。。。 5 2022/12/15 18:06
- その他(ブラウザ) Excel VBA seleniumのedge操作について 業務上、分からないことがございまして、先 1 2022/06/20 16:59
- Excel(エクセル) ランダムで四択の問題を作る場合にvbaで何を学べばいいでしょうか。 1 2022/04/14 16:45
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- その他(Microsoft Office) VBA メール送信済で実行されるはずが、実行されない時があります。 2 2023/02/02 14:05
- Excel(エクセル) エクセルVBAで図形のテキストを取得してセルに入力 2 2022/10/05 23:09
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Excel(エクセル) エクセル VBAでBook モジュールのプロシージァ(コード)に除外シートを設定したい 1 2023/01/11 15:53
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL 一部のオブジェクトだ...
-
グループ化できない、グレー表...
-
VBAで複数のオブジェクトを同時...
-
Cmd Cmb コマンドボタン コ...
-
Excelで下のような日本地図を使...
-
クリッピングマスクの枠の外を...
-
突然カーソルが手の形に…
-
in Designで一部のページにのみ...
-
エクセルの図形で弧を書く方法
-
エクセルマクロでシート内にあ...
-
エクセルで図形やワードアート...
-
指定範囲内で図形等を削除する...
-
イラストレーターで辺の中心に...
-
Photoshop アンカーポイントの...
-
jw_cadで消えない線があります...
-
業務でiCAD MXを使うことになり...
-
ICADでは概念が…
-
word2010 SmartArtで連絡網作...
-
Excel組織図を横に展開する方法...
-
JW 文字の後ろを白く着色したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL 一部のオブジェクトだ...
-
グループ化できない、グレー表...
-
Excelでオブジェクト(画像、図...
-
Cmd Cmb コマンドボタン コ...
-
パワーポイント マスタ上のオ...
-
VBAで複数のオブジェクトを同時...
-
用紙に合わせて設定と余白に合...
-
イラレ8で半透明の四角を作りたい
-
openoffice impressのオブジェ...
-
表のオーバーラップとは?
-
ACCESS 97 で OLEオブジェクト...
-
エクセルでトーナメントの作成...
-
テキストの背後にあるオブジェ...
-
Wordで行列などの数式を入力す...
-
クリッピングマスクの枠の外を...
-
in Designで一部のページにのみ...
-
突然カーソルが手の形に…
-
エクセルの図形で弧を書く方法
-
jw_cadで消えない線があります...
-
指定範囲内で図形等を削除する...
おすすめ情報