C#で簡単なアプリを作る!クリップボードのデータを取得して文字数を調べる方法

こんにちは~。「デザインもできるシステムエンジニア」のあつもり(@atumori17)です。今日も業務効率化のアイデアを発信していきますっ!

連載記事で「Visual StudioでC#を使って簡単なアプリを作ってみよう」を紹介しています。今回はその第4回目になります。

前回は「Visual Studioで初めてのC#!難しいことは抜きにしてまずは簡単なアプリを作ってみる」を紹介しました。

Visual Studioで初めてのC#!難しいことは抜きにしてまずは簡単なアプリを作ってみる
Visual StudioでC#を使って「ボタンをクリックするとラベルの文字が変わる」アプリを作っていきます。アプリケーション開発は変数や関数といった基礎学習も大切ですが、何より大切なのは作ることに慣れる事です。習うより慣れろってやつです。

今回は「C#でクリップボードのデータを取得して文字数を調べる」アプケーションを作っていきます。

レクタングル大336×280

クリップボードの文字数がわかるとブログを書く時などに便利

例えばブログでSEOを意識して書く時にタイトルやメタディスクリプションの文字数に注意して書くと思います。そんな時にコピーしたテキストの文字数がすぐにわかったら便利ですよね。

私は今までエクセルのワークシートにテキストデータを貼り付けて、len関数を使って文字数を調べていました。これが結構面倒くさいんですよね。クリップボードの文字数を調べるアプリを作ってからはずいぶんラクチンになりました。

クリップボードの値を取得して文字数を調べるプログラムを作る

それでは実際にプログラムを作っていきます。そう難しくないので気楽にいきましょう~。ソースコードとしては4行だけです。

既存のプロジェクトを開いてプログラムを修正する

まずは前回作った「ButtonTest」プロジェクトを開くところからやっていきます。画面上のメニューから、「ファイル」「開く」「プロダクト/ソリューション」の順にクリックします。

するとプロジェクトを開く画面が表示されますので、前回作成した「Button Test」フォルダをダブルクリックします。

フォルダの中身が表示されますので「Button Test.sin」を選択し、開くボタンをクリックします。

Form1.csのコード画面を開き、赤枠内のコードを貼り付けます。

サンプルコードを貼り付ける

上の画像のとおりに「private void button1_Click」部分に下記のコードを貼り付けます。

プログラムコードの解説

続いてプログラムコードの解説をしていきます。重要なポイントに絞って説明していきます。全体の流れは以下のようになります。

  1. IDataObjectを使ってクリップボードのデータを取得する
  2. 取得したデータの文字数を調べて変数にセットする
  3. ラベルに文字数を表示させる

Clipboard.GetDataObjectメソッドでクリップボードのデータを取得する

Clipboard.GetDataObjectメソッドを使うとクリップボードのデータを取得することができます。

IDataObject data = Clipboard.GetDataObject()

IDataObjectはデータオブジェクトとデータ転送を仲介するインターフェースで、ここではhe変数dataにクリップボードから取得したデータを入れています。

GetDataメソッドでクリップボードからテキストデータを取得する

GetDataメソッドを使うことで、クリップボードから形式を指定してデータを取り出すことができます。

IDataObject.GetData(データ形式)

今回の場合、テキストデータを取得したいので、データ形式をDataFormats.Textとしています。全体のプログラムコードでは27~28行目になります。

Lengthプロパティで文字数を調べint型の変数にセットする

次のようにしてLengthプロパティを使用すると文字列の文字数を調べることができます。今回のプログラムでは、取得した文字数をint型で宣言した変数clipDataLenに入れています。

文字列.Length

ToStringメソッドで数値型のデータを文字列に変換する

最後に変数clipDataLenに入れた数値をlabel1に表示させます。ただしlabelに数値型のデータをそのまま入れるとエラーになりますので、ToStringメソッドで数値を文字列に変換します。

プログラムコードの解説は以上です。

クリップボードのデータを取得して文字数を調べるプログラムの動作確認

それでは実際に出来上がったプログラムを動かしてみましょう。

クリップボードの文字数を調べるプログラムですので、あらかじめ適当な文字をコピーしておきます。

画面上部にある「開始」ボタンを押します。

フォームが起動するのでbutton1をクリックします。

label1にクリップボードの文字数が表示されました。

直接EXEファイルからアプリケーションを実行する

EXEファイルが保存されているフォルダを開いて、アプリケーションのEXEファイルをダブルクリックしても実行することができます。EXEファイルをデスクトップなどにコピーして使うこともできますよ。

sourceフォルダより上のフォルダ階層はお使いの環境によって違います。

まとめ

いかがでしたか?今回の内容をまとめます。

  • IDataObjectを使うとクリップボードのデータを取得することができる
  • Lengthプロパティを使うとテキストデータの文字数を調べることができる
  • EXEファイルから直接アプリケーションを実行できる

それではまた~。

レクタングル大336×280
レクタングル大336×280

シェアする

  • このエントリーをはてなブックマークに追加

フォローする