No.1ベストアンサー
- 回答日時:
先日も同じ質問をしてましたね。
当日はOKWAVEでつながりにくい日だったように記憶しますが、お気の毒にも、その原因で回答が無かったか、少なかったかもしれません。私も質問を読んで、答える知識も無くかつ、そんなに簡単ではないよと思って回答を上げられませんでした。しかし何度も同じ質問を見るのも個人的にきになるので、少し書きます。以下の表現は、私がワードVBAを習熟してい(て)るから言うのでは決してなく、入り口あたりで、習得が難しいので、かれこれ10年近くも、逡巡している状態だと言うことを念頭において読んでください。
理由は、もちろん仕事で、ワードVBAをやらなければならない場面には出くわさず、私の能力ややり遂げられない性格の問題は大きいでしょう。
>VB6またはVB2005で
質問のここを見て、経験が無いから答えない人がいるかもしれない。
VBのベテランはワードVBAなど使う方が少ない
VBやワードVBAの熟達者はOKWAVE(Goo)のサイト
を見る暇は無いと想像する。
などと思っています。
>Word2003の操作を考えているのですがどのように
一般論。
Dim myWord
Set myWord = WScript.CreateObject("Word.Application")
myWord.Visible = True
myWord.Documents.Open " C:\Documents and Settings\User名\My Documents\ABCo.doc"
のようにすれば、ワードのオブジェクト群の世界に入れます。跡は
ワードの中でワードVBAでコードを書くのに比べ、オブジェクトmyWordを頭にいつもつけて同じコードを書けば良いのだと思う。
結局WordVBAが使えるようにならないといけない。
VB6またはVB2005の習得とあまり関係ない(VBの基礎的共通性などは当然知っているとして)。
ーー
●結局WordVBAが使えるようにならないといけないー>
これはつまるところ、VB6などの知識とは全く別の、ワード(VBA)のオブジェクトとプロパティ、メソッドにどんなものがあり、どう使うかを知ってかつ使い慣れないといけない。またエクセルVBAなどに比べ、(慣れないせいかもしれないが)数が多く、複雑なように私は思う)。無理にオブジェクト指向の仕組みに修正したのではないかと思う。セルという明確な基本単位が無いのが大きいかも。
●ワードVBAの特有の考え方
これがエクセルVBAとは相当別物で、特有のクセがあり、教えてもらわないと、なかなか習得しにくいよう。
●教えている学校の宣伝告知なども、見たことが無い。
●独習をしようにも、解説書が少ない。図書館に行ってもまずお目にかからないでしょう。
Amazonで照会しても4本出て2本は在庫切れ、1本はエクセルなどと共通解説です、1本は古本で相当なプレミアつき。
現在大型書店で見るのは下記2点ぐらいか?
西上原裕明先生 Wordで実線マクロ事例集 技術評論社
(もしWordVBAについて体系的に、詳しく書いてもらえるとするならこの先生が適任かと(私見独断)。しかしエクセルVBAに比べ購入者は少ないでしょね。これが出版物が少ない原因か?
Word Hacks
●さて学習する材料は
マイクロソフトの解説やヘルプを学習する。
幸いマクロの記録が取れるのでそれを解読して勉強する。
WEBで「Word VBA」などで照会し、(19万であるそうだ)この中から自分の課題にあったものを探し(難物)、見て学習する。
同じテーマのものも多く、個別的な解説が多いのはやむをえない。
2000年ごろに比べ増えている。理の当然か。
●しかし世間の狭い私などに比べ、「世の中広い」
WEBの記事を見ると、大勢の中には、どこで勉強されたのか、WrodVBAの解説も部分的には結構ある。才能のある方もいて、相当わかっている方も多いのかもしれない。しかしそういう詳しい方が、OKWAVEの回答者たるべく、OKWAVEの質問を全部(全部読まないとWordVBAの問題に出くわせない)読んでいる方がいると期待するのは無理な気がする。限られたVBのカテゴリでも読んで小数回答するのに、大変な時間がとられる。
●そういう状態なので体系的に学習する本を求めるなら、英文の解説書などを外国のWEB通販などで探すなどを考えてはどうかと思う。
私はやっていないし、その気もないものですが。
ーーー
上記に対する反論や本やWEBの紹介が出れば私も勉強します。
大変参考になりました。
imogasiさんには申し訳ありませんが自己解決しました。
やってみたら意外と簡単でした。
「部分的な説明だけでわかる訳ないだろ…」
と思って悩んでましたが「VBレスキュー(花ちゃん)」の説明でほぼ理解できました。
マクロを記録して、VB6用に少し手直しするだけで動きました。
オブジェクト指向プログラミングが理解できる人なら簡単な説明だけで理解できるのかもしれません。
それにしても参考書がほとんど無いのはちょっとひどいです。
VBAは全くの未経験でしたがVB6を知っていると結構理解できるものなのですね…。
ちなみにVB6は既に時代遅れとなりつつありますが…。
プログラミングは試行錯誤と不屈の精神力です。
ほとんど独学で僕はプログラミング暦は20年位です
imogasiさんもがんばってみてください
No.2
- 回答日時:
Word の [ヘルプ]-[Microsoft Office Word ヘルプ] をクリック。
作業ウィンドウ上部の [目次] をクリック。
[目次]-[Microsoft Word Visual Basic リファレンス]-[Microsoft Word オブジェクト モデル] をクリック。
ここからオブジェクト モデルの海へ漕ぎ出す。
てな感じで調べてください。
Word の最上位は Application
文書は Document
現在カーソルがある場所は Selection
雛形文書を準備しておき、意図した場所へ何かを書き出したいのであれば Bookmark を使う。(と思います)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
Excel VBAでWordの複数ファイル...
-
VBで引数にDictionaryオブジェ...
-
エクセルのVBAの標準モジュール...
-
エクセルVBAで配列内に空白デー...
-
AccessVBAで「dim dbs as datab...
-
「オブジェクト変数または With...
-
Excel VBA Collection.add で R...
-
vbaからIEを操作するための記載...
-
VBAについてです。 初心者です...
-
実行時エラー 3265「要求された...
-
UserForm1.Showでエラーになり...
-
PowerPointVBAでスライドマスタ...
-
EXCEL VBA オートシェイプナン...
-
エラー91 オブジェクト変数また...
-
エクセルVBAでcode128のバー...
-
VBScriptでファイルの日時順(降...
-
ExcelからAccessのデータを出力...
-
エクセルVBAで2つの画像を比較...
-
Excel VBAでIEにアクセスするプ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
worksheetFunctionクラスのVloo...
-
「Columns("A:C")」の列文字を...
-
エクセルのVBAの標準モジュール...
-
実行時エラー 3265「要求された...
-
VBAで既に開いている別アプリケ...
-
Excelでフィルタをかけると警告...
-
オブジェクトが見つかりません
-
EXCEL VBA オートシェイプナン...
-
VBAからPDFファイルにパスワー...
-
VBAで Set wb = Sheets(1).Cop...
-
ある文字列が全て数字であるか...
-
PowerPointVBAでスライドマスタ...
-
[VBA]CDOメッセージ送信エラー
-
AccessVBAで「dim dbs as datab...
-
VBAで作成するメール(開封確認...
-
VBからPDFファイル自動生成...
-
上下の位置揃えについて
-
ExcelVBAでのNZ関数について
-
テキストボックス中の文字列の...
-
エクセルマクロエラー「'Cells'...
おすすめ情報