• 締切済み

ExcelVBAで非同期のsocket通信をやったことのある方いませんか?

ExcelVBAで非同期のsocket通信にトライしています。が、思うように行きません。 Net検索したところ、VBAで非同期socketを試みたが、結局VBAでは無理そうなので断念したという2006年の内容を1件見つけました。 他には、VBAでの非同期socketに関する内容は見つけられませんでした。 やはり、これは無理ということなのでしょうか。私の検索が的外れなだけであってほしいのですが、、、 ちなみに、私の野望は「複数のsocketクライアントと複数のサーバを1つのBookのマクロでコントロールする」です。 立場上、私の持ち駒はExcelだけ。VB含めコンパイル環境は使えません。 具体的な質問は、いくつかあるのですが、まずは、VBAで可能なのかどうかを知りたいです。 実装の実績のある方、いませんか?

みんなの回答

  • miyuyu
  • ベストアンサー率61% (30/49)
回答No.2

こんにちは お役に立てなかったようでスイマセン VBA Winsock APIで検索してみてください APIも嫌だと言うのであれば・・・ それ以上判りません

HokkienMee
質問者

お礼

「VBA Winsock API」で調べてみました。 これまで調べた以上の内容は、見つけられなかったです。5~6ページしか見てないからかしらん。 英語のサイトを読んだら、何かあるのかなぁ。でも、気力がない。英語力も。 > APIも嫌だと言うのであれば・・・ APIで書いているので、それ自体は構わないのです。 とうより、APIで作る場合のことを知りたい... たとえば、FD_READメッセージを受け取るのに、PeekMessageを自分でループする方式と、ウィンドウプロシージャをすり替える方式とどちらを使うべきなのか、あるいは他にもっとベストな方法があるのか、とか。 「VBAによるTCP/IPプログラミング入門」という本も立ち読みしてみましたが、肝心の知りたいことは、書いてなかったし。 今は、WndProcをすり替える方式を取ってますが、デバッグができないんですよ。ブレークするとその後、無反応になってしまって。 それが、私のコードの問題なのか、Excelでの宿命なのかも知りたいし。 ほかにも、あれやこれやと...ということなんですが、 > お役に立てなかったようでスイマセン いいえ、miyuyuさんから応答いただいたこと、そして他の応答はないこと、それ自体が役に立っております。 直接的ではないにせよ、十分に有用な情報でありました。(VBAでの実績はほとんどないということ自体が有用な情報です。) 本当に、ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • miyuyu
  • ベストアンサー率61% (30/49)
回答No.1

こんんちは 下記URLのような感じですか?

参考URL:
http://shoji.blog1.fc2.com/blog-entry-80.html
HokkienMee
質問者

お礼

応答ありがとうございます。 参考URL見てみましたが、残念ながら、望む情報は得られませんでした。 自PCには開発環境が入っていないので、WinSockコントロール自体が存在しないんです。 質問の投稿から2日経っても、「私、やったことあるよ」という反応がないということは、VBAで非同期socketをやろうとして成功まで行き着けた人は、いないか極めて稀ということなのでしょうね。 (私も、開発環境があるなら、VBAでやろうとは思わないし。) とりあえず、明日までは、待ってみようと思ってます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ExcelVBAを用いてツールを作成しております。

    ExcelVBAを用いてツールを作成しております。 内容としては、以下の通りです。 (1)Excelファイルのシート名をリストボックスに表示させる。 ⇒実装済み (2)リストボックスからシート名を選択(複数選択可)し、「OK」ボタンを押下すると処理を実施する。 チェックとして、リストボックスから何も選択せず、「OK」ボタンを押下したときに エラーメッセージを表示させるようにしたいと思いますが、調べてもわからなかったので、 こちらに質問させて頂きました。 どなたかお分かりの方ご教授ください。よろしくお願い致します。

  • Flashの通信について

    通信についての質問です。現在Flashでオンラインゲームを作っています。 通信は完全に同期の必要はありません(5秒~5分更新で通信状況により非同期で変更しています)がデータの欠落、書き換えによる不正行為を出来るだけ無くすためにサーバー側にデータを全て保存しPHPで処理してそれを読み出す仕組みにしています。 現在HTTP通信で制作しているのですがHTTP通信だとHTTPヘッダにFlashから送信したPOST値が表示されて内容が見えてしまったりFirefoxだとステータスバーに"データを転送しています"と表示されてしまいます。 この2つの問題を解決する方法はないでしょうか? また@gamesなどのオンラインゲームのFlashは一般的にどのような方法で通信を行っているのでしょうか?回答宜しくお願いします。 *Socket通信も考えたのですがそこまでリアルタイム性を要求していないのとサーバー側にデータを保存して読み出す必要があるため余り向いていないと思い断念しました。

  • HTMLファイル内の文字列検索

    はじめて質問させていただきます,kokko1719です. 今,ExcelVBAを使ってツールを作成しています. その中で,フォルダ内にある複数のHTMLファイルから特定の文字列を検索し,抽出するコードを作成したいのですが,うまくいきません. 使っているExcelが2007なのでFileSearchを使うことができません. 一応,再帰処理を実装してファイルを探索するところまでは出来ている…と思います.(特定のフォルダを探しに行って○個見つかりましたとメッセージは出ます) その後のファイルを開き検索,特定のシートに抽出することができません. 現在作成しているコードでは,検索条件が1つしかないのですが, 実際は,HTMLファイルで使用している画像ファイル名を検索して抽出したいので,条件も複数指定したいと思っています(jpg,gif,pdfなど). ExcelVBAを学び始めて日が浅いため作業が止まってしまっています.きっと調べ方も悪いのでしょうが…. どうか教えていただけましたら幸いです.

  • [ExcelVBA]検索文字で検索し文字入力する

    いつもお世話になっております。 以前に投稿をさせていただきましたgitmykと申します。 http://okwave.jp/qa/q7563274.html 前回はご回答くださり誠にありがとうございます。 この場で感謝申し上げます。 内容を精査させていただきましたので、再度投稿させていただきます。 問題(1) Sheet2のA列に[範囲指定文字]、B列に[検索文字]、C列に[入力文字]が複数入っている。 Sheet1を[範囲指定文字]で検索しCurrentRegionで範囲指定する。 範囲指定した全てのセルに対し、[検索文字]の上から順に検索していく。 該当セルがあれば、右4セルoffsetし、対応する[入力文字]を入力する。 ([検索文字]と[入力文字]は1対1で対応している) 問題(2) Sheet2のA列に[範囲指定文字]、B列に[検索文字1]、C列に[検索文字2]、D列に[入力文字]が複数入っている。 Sheet1を[範囲指定文字]で検索しCurrentRegionで範囲指定する。 範囲指定した全てのセルに対し、[検索文字1]の上から順に検索していく。 該当セルがあれば、右2セル上1セルoffsetしたセルを対応する[検索文字2]で検索し、双方が一致した場合のみ[検索文字1]で検索した該当セルから、右に4セルoffsetしたセルに、対応する[入力文字]を入力する。 ([検索文字1]と[検索文字2]、[入力文字]は対応している) 問題(3) Sheet1を[範囲指定文字]で検索し下に1セルoffsetした位置をCurrentRegionで範囲指定した場合。 上記内容をExcelVBAでどのように記載すればよいか、ご教授くださいませんでしょうか。 VBA学習中です。 何卒宜しくお願いいたします。

  • ExcelVBAもしくはAccessでの上手な対処方法

    当方ExcelVBAとAccessを多少嗜む程度のレベルの者です。 この度、営業社員(80名程度)向けのツールの作成をしており内容としてはその日の活動状況や今後の予定、受注金額や使った交通費などを一元管理し、すぐにレポートできるモノにしたいと考えております。 営業個人個人が使用する分には何も問題ありませんが、自分だけはそれを集計し取りまとめを行いたいと思っております。 自分の知る限りではAccseceのmdbファイルは複数のPCからの書き込みには向かなく、 SQL Serverなどを使用するのがベストだということ。 ただあまり経費も掛けられないため自分だけで解決したいと思っております。 自分が思いつくイメージとしては営業個人個人の保存データのファイル名に規則性を与えてVBAなどで吸込をかける。 ただこれでは営業個人個人のデータが日に日に肥大していくため、そのうち取込時間がかなり掛かってしまいそうな気がしております。 何かいい手法はございませんでしょうか? ご教授いただけたら嬉しく思います。

  • VBAおよびVB用の祝日判定用マクロ

    VB2008です インターネットにて関数アドインを公開されているサイトがあり http://www.h3.dion.ne.jp/~sakatsu/holiday_logic.htm#VBA その祝日判定用マクロをVB2008で実装しようとコピペしたら その内容で Const cst振替休日施行日 As Date = "1973/4/12"     (他同様行複数あり) の部分が『'String' から 'Date' への変換は定数式では発生しません。』とエラーが出ます ExcelVBAでは動作OKでした エラーの原因(VBでは直接文字列日付はダメ)はわかるのですが "1973/4/12"をDate型に変えようとDate.Parse("1973/4/12") に変えたら 『定数式が必要です。』とまたエラーが出ます ご教授お願いします

  • Excel VBAについて勉強したい

    Excel2007です。 最近仕事でVBAを使う機会が増えているのですが、まだまだ初歩的なものしか作れません。 例えば、ユーザーフォームがあって、その中のコントロール(テキストボックスとかコンボボックスとか)に「セット品記号」を入れたら下に用意したコントロールにセット内容が自動的に表示されるとか、dictinaryでできる、と言われたのですがまずdictionaryの使い方が理解できていません。 検索して出てきたコードを応用しようにも、ちょっと知らないコードがあるとつまづいてしまいます。 それで、VBAについて勉強できる本を探しています。 特に知りたいのは ・dictionaryの使い方 ・Offset、Resizeの使い方 ・配列、配列変数について ・AdvancedFilterの使い方 このような内容です。 今持っている本は 「ExcelVBAのプログラミングのコツがゼッタイにわかる本」(立山秀利/秀和システム) 「ExcevVBA逆引き辞典パーフェクト」(田中亨/翔泳社) 「すぐわかるExcel マクロ&VBA」(アスキー・メディアワークス) 「エクセルのマクロとVBAがみるみるわかる本」「世界で一番簡単なExcelVBAのe本」(道用大介/秀和システム) 何かおススメの本がありましたらお教えください

  • Excelファイルをgrep検索したい

    よろしくお願いします。 エクセルVBAでタイトル通りの機能を実装しようとしています。 あれこれ試した結果、一時的に単一ウェブページ形式(mht)で出力してそいつから検索する方法でやろうとしています。 が、出力されたファイル内の日本語はコードのようなものになっておりそのままでは読めません。 IEオブジェクトにロードしてInnerTextで拾おうとしても複数シートがあるとうまくいかず途方にくれています。 何卒お知恵をお貸し下さい。

  • socket通信 非同期処理におけるバーコード読み

    工場のラインで製品が流れてくる際に2つの固定バーコードリーダー(カメラ式)でバーコードを読み込みむ処理を作成しているのですが、 上手くPGが組めません。 ポートは”9600”で2つのカメラで片方でも読み込めた際は画面(swing)のテキストボックスに表示するサンプルのご教授を頂けないでしょうか? ※バーコード読み込みは終了等のボタンが押下されるまで非同期で読み込みます。 環境はeclipse-jdk1.7(windows10)となります。

    • ベストアンサー
    • Java
  • エクセルVBAがMACで動かない

    WINDOWSで開発したVBAがMAC(マック)で動かない(コンパイルエラーが起こる)という現象が起こっています。 ネットで検索していて「VBAがMACで動かないことがある」ということは認識しているのですが、 ・MACで動かすことは可能か ・動くようにするには、どうすればよいか(コードを変更する、EXCELのバージョンを変える等) の2点について教えていただければと思います。 <バージョン> OS MAC 9.1  EXCEL バージョン 「MAC EXCEL 2001」 <エラーメッセージ> SUBまたはFUNCTIONが定義されていません。 <VBA内容> エクセルシートの文字列をカンマ区切りでテキストファイルに吐き出すだけです。 一部でもお答えいただけると助かります。よろしくお願いします。