ファイルからの登録”に置き換えて試行中ですが、うまくいきません。PMご質問頂いた件についてこちらで確認してみましたが、記事内の処理のままで「ファイルパスの入力」から「開くボタンの押下」まで問題無くできた事を確認致しました。どのあたりの処理までが出来て、どの部分の処理に失敗したかをお教え頂ければ何かアドバイスできるかもしれません。PMこちらの記事のお陰で業務用マクロが作れそうです!あまりこの手の記事が見当たらずほんとうに助かりました!すみませんが、もしお時間ございましたら2つほどご教授ください。sendmessageの箇所で、ボタンをアクティブにするという処理が一文あるのですが、こちらは必要なのでしょうか?単にその下のボタンをクリックする処理さえあれば良さそうな気がしております(実際に試してみても問題がないような気が致します)。記事中にも記載があるように、どうも待ち時間や繰り返し処理を入れていないせいか、5%くらいの確率でエラーになってしまいます。対応として、Sleepだと確実性に欠けるというのはまさにおっしゃるとおりですので、できればDoLoop(かIf)を使いたいです。いうような感じで良いと思うのですが、「hInputboxに適切に値が代入できていたら(開くボタンをクリックする)」という条件はどういうふうに指定できますでしょうか?変なことを言うなと思われるかもしれませんが、タイムラグがあるせいか稀にフルパスの入力に失敗しているようです。PM1>確かにアクティブを外しても動作しましたね(^^;アクティブにしないと正常に押せない場合もあったのですが、環境に依存するのかもしれません。問題無く動作するのであればアクティブ処理は外しても問題ありません。2>私の場合は、「開く」ボタンを押した後に『ダイアログが消えるまでDo~Loopで待機する』という処理を入れています。【一定時間経過してもダイアログが残っている場合】-パスのセットに失敗していると判断して処理の先頭に戻ってやりなおす【一定時間以内にダイアログが消えた場合】-ループを抜けて次の処理へという感じですね。他には値をセットする際のSendMessageの第二引数に「&HC」を指定していますが、ここを「&HD」にすることで入力ボックスの内容を取得することもできます。それで見ても良いんですが、じゃあ値をセットしてからどの位待って取得すれば良いのかとか、判定を誤って2回送信してしまった場合はとかを考えるとちょっと面倒かなと。こんな感じでやり方は色々とありますので、お好きな方法で挑戦してみて下さい。PMアドバイス大変ありがとうございました。アドバイスどおり、ダイアログが消えたかどうかをLoopUntilで使ってみて、正しく動作しております。取り急ぎ課題は解決したのですが、1つお伺いしたいことがございます。Sendmessage関数の引数について先程も教えていただいてありがたかったのですが、Sendmessage関数の解説のようなものはどういうところから情報収集しておられるのでしょうか?例えば、第四引数の「0&」の「&」とはなんぞや?など。ググってみても、「0」が使われていることが多いようなんですが、じゃあ使える引数として何どのようなののがあって、違いは何があって、というような解説資料がなかなかヒット致しませんでした。ご教授いただいた「&HC」も適切なものがヒットせず...。PMうーん・・・私も何かの処理を実装したい時にその都度調べているだけですので、ご紹介できる様な資料やページは無いですね。お力になれずすみません。AM早々のご回答に感謝申し上げます。ファイルからの登録”のダイアログを表示させた状態で実行すると、上手く登録できることが確認できます。ところがダイアログを表示させていない状態だと登録ができません。このプログラムはもしかして、予めダイアログを表示させていることを前提にしたものなのでしょうか?もしそうであれば、見当違いの質問であった旨、何卒ご容赦ください。こちらに掲載している内容は、『ダイアログが既に開かれている状態』ということが前提になります。ダイアログを開くまでの処理は別途記述しなければいけません。IME辞書を変更するといった処理であれば、VBAで実装するよりもバッチでレジストリを操作したり、何らかのツールを用いた方が良いかと思います。PMお世話になっております。お知恵をお貸し頂きありがとうございました。ダイアログを開くまでの処理は、VBSでsendkeyを使って処理いたしました。ご面倒をお掛けして申し訳ございませんが、別途質問させてください。現状はこのVBAプログラムで問題ないのですが、後々ファイル名が変わることを想定し、ワイルドカードでも起動できるようにしておきたいと考えております。PM「ワイルドカードでも起動できるようにしたい」という内容は良く分かりませんが、単純にファイル名が変わる可能性があるという事であれば、その辞書ファイルが格納されているフォルダを予めプログラム上に持っておいて、ファイル名はプログラム実行時に読み取る様にすれば良いのでは無いでしょうか。AMご返答ありがとうございます。現状はファイル名がa.txtなのですが、b.txtでも動くようにしたいと考え、ワイルドカード(*.txt)で構築したいと考えております。具体的には以下のように記述しましたが、a.txtを拾ってくれず、エラーとなってしまいます。Subどこが悪いのかご教授頂けると幸いです。PMセットするパスのファイル名にワイルドカードは使用できません。「*.txt」とファイル名を指定しても、ダイアログ側はどのファイルを読み込めばいいのか分かりませんよ。「D:\jisho」というフォルダの中にあるファイル名を実行の度に読み込む様にして下さい。Dir関数で検索すれば方法は出てくると思います。PM初めまして、この記事を読ませていただきました。“開く(&O)”)のところのハンドル値が0になってしまったのですが、これちゃんとハンドル値が取得できていないということですよね?自分の画像データが、この記事にあるとおりに開けなくて困っています。AM最後のボタンのハンドルを取得する所で失敗しているのですね。PM返事が遅れてしまい申し訳ございません。あのあと試行錯誤の結果、上記のエラーは解決できました。無事に自動化のプログラミングを組むことにも成功しました(自動出品のプログラムです)。この記事に巡り会わなかったら、ここまでたどり着けませんでした。本当にレインさんには感謝しています。ありがとうございました。PM無事解決した様で良かったです!しかし全くの初心者と仰っていましたが・・・この短期間でまさか自動出品プログラムまで完成させられるとは凄いですね!習得が速くてうらやましい限りです。必要になり探していたところ、ドンピシャの記事で助かります。ファイルの場所以外は殆ど同じにしておりますが、実行してもファイル選択のダイアログが出てきて、ファイル名に何も入力されずに止まったままです(対象ファイルはC直下で指定していますが、ダイアログはデスクトップになっているのが気にはなります)。別の方もハンドルが0になっていたようですが、私もステップ実行で調べようとしましたが、制御がダイアログに取られてそもそもVBEが触れない状況です。コントロールボックスの入れ子の説明箇所が各人の実行内容によって変わってくるのかと思いつつも、先へ進めない状況です。ご教示頂ければ幸いです。テスト環境としてのサイトはfirestrageです。流れは「サイトをIEで開きファイルを選択してアップロードして終わり」までです。AMその内容でしたら以下の記事の方法で解決できると思いますので、ぜひ試してみて下さい。PM有り難うございます。Vba上でのJavascriptの扱いが分からずもがきましたが、とりあえずダイアログのハンドルを取得するとこまでは、出来ました。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。固定ページ内を検索プロフィール藤美れいん(ふじみれいん)プログラマとして入社後、数年の開発経験を経てフリーへ転職。せどり、ネットショップ運営、パチスロ期待値稼働、プログラム開発等々を経験し今に至る。現在は一時的に復職し、都内某所で活動中。過去に公開したツールなどは、サイト上部のメニューにある「TOOLS」をご覧下さい。プログラムに関する質問、その他ご相談はメールやTwitterからどうぞ。@raine_fujimi※返信は大体数日後になります。返信できない場合もありますので予めご了承下さい。