ありふし あつし
2010年1月1日更新
このページで公開しているソフトはすべてフリーソフトです。
使用された結果については一切責任を負いません。
プログラムを作ってみませんか?
パソコンが世に出た頃は、とても個人で買えるような価格ではなく、本体、ディスプレイ、 |
とりあえずExcelのマクロで
パソコン講習の講師を頼まれたとき、学習内容が”Excel”と”Word”でした。 |
Office2000で作りました。OfficeXPでも問題なく動きました。他のバージョンは試してないのでわかりません。 もしバグ(プログラム・ミス)がありましたら申し訳ありません。 |
![]() |
![]() |
「オセロ」はよく知られている定番のゲームですね Excelのセルを石に見立てています。 |
使い方の説明
「暗算」を例に説明します Office 2000 の場合です。 ”暗算.xls”をダブルクリックして立ち上げますと以下のようなダイアログが表示されますので 「マクロを有効にする」をクリックします。 |
![]() |
上図のダイヤログが現れない場合は、セキュリティレベルを変更します。
メニューの「ツール」⇒「マクロ」⇒「セキュリティ」から、セキュリティレベルを「中」にして保存し再立ち |
![]() |
セキュリティの変更は自己責任で行ってください。もしレベルが「高」になっていたなら |
プログラム・ソースコードの見方
メニューの「ツール」⇒「マクロ」⇒「Visual Basic Editor」をクリックするとプログラムの |
計算・暗算の練習ソフト
Visual Basic Express Edition 2005 で作成
![]() |
![]() |
前回、Excelのマクロで作った「暗算」をVisual Basic 2005 で作ってみました。
![]() |
![]() |
|
Visual Basic 2005 開発ツールが入っていないと、プロジェクトのダウンロードは無意味ですから、行わないでください。 |
パソコンに押しボタンスイッチを付ける
Visual Basic Express Edition & Visual C++ Express Edition 2005
「プログラム開発ツール」は以前はとっても高価で、パソコンと同じ位しました。 現在は、無償バージョンが"Express Edition" としてマイクロソフトのサイトからダウンロードできます。 私の場合は、Visual Basic でほとんどのアプリケーションを作り、補助的に必要は部分のみ、Visual C++ で作成し、"Dll"にして、Visual Basic で作成したアプリから呼ぶようにしています。 Visual C++ でアプリケーションを作るのは、Express Edition"ではきついです。(上位 EditionならOKです) プログラミングについては本当にたくさんのサイトがあり、とっても丁寧に解説されています。 開発ツールの使い方等は、それらのサイトをご覧ください。 今回は少し変わったプログラムを紹介します。 以下の内容は初心者の方には向きませんし、電気配線が必要ですから「半田ゴテなど使ったことがない」という方は読み飛ばしてください。 |
パソコンへ入力するには、まずキーボード・マウス・外付けのテンキーなどが想い浮かびます。 左図のようにスイッチで入力したいことはありませんか? ディスクトップPCの場合は市販の「入出力ボード」をPCIの空きスロットへ装着してスイッチを接続出来ますが、ノートPCではそれは出来ません。 でも工場などでパソコンを使う場合、特に場所の問題でなるべく場所をとらないノートPCを使用したいですね。また停電の時も有利です。 少し前までは、シリアルポート(主にモデムを接続)やパラレルポート(プリンター用)が装備されていました。 |
以前のノートPCには、こんな端子がついていました。最近はほとんど見かけなくなりました。 |
シリアルポートについては、「RS232C/USB変換機」が市販されていますのでそれで代用出来ます。 しかも複数使用ができます。 |
![]() |
但し、私が使用したものが、たまたま問題なく動作しただけかも知れないので、保証はできません。 |
![]() |
![]() |
![]() |
これは、RS232Cのハンドシェーク信号を利用して主に 外部のスイッチ入力を使用するための例です。 自作のアプリにしか使用できません。 RS232CはHiと、Lowの状態があり、電圧が+と−に振れます。テスターで測ってみると、9V位でした。 +9VがHi、−9VがLowです。 ハンドシェーク用に4つの入力があるので最大4つのスイッチをつなげます。 今回は6番ピンのDSR信号にスイッチをつなぎました。 スイッチがONの時、DSR信号がHiになります。 スイッチは通常OFFですから、Lowの−9VをDSRに加えておきます。 私の場合はこの配線でうまくいきましたが、保証はできません。 |
出力としてLEDをつないでいます。ランプ付スイッチなどでスイッチONを検出したらランプを点灯するなどに使えます。 電流制限抵抗はLEDに数mA程度流せる位(3KΩ前後)でいいと思います。 LEDが点灯できるなら”フォトMOSリレー”などを付けてもっと大きい機器を扱えそうですが、それはやらないでください。 パソコンが立ち上がる時、出力が不規則にON−OFFしますから。 またシリアルポート自体このような使い方をすることは、想定されていないと思います。 今回、主役は "Rs232cSw.dll" です。"dll" は単独では動きませんので "Rs232cSw.exe"から呼びます。 "Rs232cSw.exe"は"Rs232cSw.dll"のテストするために作ったものです。 "Rs232cSw.dll" はCOMポートを無限ループの中で監視するためマルチスレッドにしています。 押しボタンスイッチが押されたら、親アプリにイベントを送ります。 上図のように配線できたら下のサンプルプログラムで試してみてください。 |
![]() |
![]() |
「RS232C/USB変換機」を使用した場合、COMポートの番号が不明です。 また同じ変換機でもUSB端子に差す場所によっても変わってしまいます。 「設定」⇒ 「コントロールパネル」⇒ 「システム」⇒ 「ハードウエア」⇒ 「デバイスマネージャ」 ⇒ 「ポート COMとLPT)」 からCOM番号を調べます。 一度設定すると、"Rs232cSw.ini" のファイルが作られ、COM番号が保存されますから、次回からは聞いてきません。 |
![]() |
![]() |
押しボタンスイッチを押すたびにカウントアップします。 LEDがつないであればボタンを押すごとに点灯−消灯します。 RTSボタンをクリックする度にLEDが点灯−消灯します。 |
![]() |
![]() |
Visual studio 2005 Express Edition で作ったプロジェクトです。 |
変更・改造はご自由に行ってください。但しサポートはできませんのですべて自己責任でお願いします。 |
パラレルポートが使えれば(参考)
パラレルポートは多くの入力・出力を扱えます。 |
![]() |
![]() |
2.パラレルポート制御用のWindows API関数が無いためデバイスドライバを作る必要がありますWindows 2000 のときはマイクロソフトのサイトから”DDK”(Driver Development Kik) |