1. カメラ
  2. カーオーディオ&エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術オンライン >  >> スマートホーム >> スマートライフ

MS Excel を使用したプログラミング方法

Microsoft Excel は強力なスプレッドシート アプリケーションです。多くの人は、プログラムができることをすべて活用しないことで、プログラムの真の力を逃しています。 Visual Basic for Applications (VBA) は、すべての Microsoft Office アプリケーションと共にインストールされるプログラミング開発プラットフォームです。 Visual Basic は、古い Basic プログラミング言語を取り入れたものです。 VBA を使用すると、単純な Microsoft Excel スプレッドシートを、機能や手順を自動的に実行する動的なアプリケーションにすることができます。この記事では、簡単なコードを Excel 2007 スプレッドシートに追加して、それを話せるようにします。これは、VBA 環境に慣れるのに最適なプロジェクトです。このプロジェクトを行う前に、プログラミングについてある程度知っておく必要があります。

ステップ 1

スプレッドシートを開きます。現在コンピュータにあるスプレッドシートを使用することも、ここに表示されているスプレッドシートを作成することもできます。既製のものを使用している場合は、合計列があることを確認してください。

ステップ 2

リボンに [開発] タブを表示します。ほとんどの場合、Excel を開いたときに [開発] タブは表示されません。画面上部の [Microsoft Office] ボタンをクリックし、[Excel のオプション] をクリックする必要があります。 [Popular] 画面から [Show Developer Tab in the Ribbon] を選択し、[OK] をクリックしてこのフォームを閉じます。 Excel 画面から表示されたら、[開発者] タブをクリックします。

ステップ 3

「Visual Basic」をクリックします。 Visual Basic Editor が表示されます。右側で、シート 1 をダブルクリックします。これがこれから使用するシートです。画面の右側に新しい空白のシートが追加されます。

ステップ 4

画面上部に「Option Explicit」と入力します。 VBA で作成したすべてのプログラムでこれを行う必要があります。これにより、変数にデータを割り当てる前に変数に名前を付けることができます。変数は、情報を保持する小さなコンテナーと考え​​てください。使用している情報が常に変化している場合に役立ちます。たとえば、1 月の合計を処理する必要があるとします。この量は時々変化するため、変数に割り当てます。保持するデータの正確な量がわからない場合でも、その変数をいつでも呼び出すことができます。

ステップ 5

次の関数を入力します。 Function TalkIt(txtTotal) Application.Speech.Speak(txtTotal) TalkIt=txtTotal End Function これは、スプレッドシートの会話を制御する関数です。私たちが行ったことは、Excel に付属している組み込みのテキスト読み上げジェネレーターを使用することでした。関数の最初の行では、関数を宣言し ("Function")、名前を付け ("TalkIt")、関数に渡すデータを記述します ("txtTotal")。関数が定義されたので、関数を参照し、データを送信して機能させる必要があります。

ステップ 6

スプレッドシートに戻り、ボタンを追加します。 [開発] タブから [挿入] をクリックし、ボタン (一番上にある最初のアイコン) を押します。スプレッドシートの任意の場所にボタンを描画します。新しいウィンドウが表示されます。ボタンに「cmd_Total」という名前を付けて、[OK] をクリックします。ボタンを右クリックして [テキストの編集] をクリックすると、ボタンのテキストを変更できます。テキストに「Talk」と入力しました。

ステップ 7

Visual Basic Editor に戻り、最後のコードを追加します。 Private Sub cmdTotal_Click() Dim intTotal As Integer 'テキストを保持する新しい変数を宣言します Dim txtTotal As String intTotal =WorksheetFunction.Sum(Cells.Range("B3", "B14")) 'If...else ステートメントを使用してtxtTotal 変数の値を制御する If intTotal <2500 Then txtTotal ="ゴール未到達" Else txtTotal ="ゴール到達" End If TalkIt (txtTotal) End Sub

上記のコードが意味することは、ボタンがクリックされると、コードはワークシートの「帽子」列の合計が $2500 未満かどうかを確認するということです。そうである場合、Excel の合成音声は「目標に到達しませんでした」と言うでしょう。合計が 2500 ドル以上の場合、「目標に到達しました」という音声が流れます。それでおしまい。 Microsoft Excel で最初のプログラムを作成しました。

ヒント

クラスを受講するか、教則本を購入して、VBA の機能と手順をさらに学びましょう。遊べば遊ぶほど、親しみやすくなります。プログラムが機能しない場合は、Excel のセキュリティ設定を変更してマクロを有効にする必要がある場合があります。これを行うには、[開発者] タブから [マクロ セキュリティ] をクリックします。