152642 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

おおぞらのとんび

おおぞらのとんび

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

プロフィール

とんび66

とんび66

カレンダー

お気に入りブログ

まだ登録されていません

キーワードサーチ

▼キーワード検索

フリーページ

コメント新着

マー坊@ Re:Excel VBA 全シート一括印刷設定(12/17) とんび66さん はじめまして。 印刷面(片…
julian@ eYIKjyScdAEqiCb x34DZl http://www.FyLitCl7Pf7kjQdDUOLQO…
sammy@ nQyyzmadfYX vx7Mqg http://www.QS3PE5ZGdxC9IoVKTAPT2…
sammy@ WeQAImxzQAPSDH XKXxjU http://www.QS3PE5ZGdxC9IoVKTAPT2…
sammy@ nxSlxfLylj Pw8XXV http://www.QS3PE5ZGdxC9IoVKTAPT2…

楽天カード

ニューストピックス

2010.06.28
XML
カテゴリ:カテゴリ未分類
このプログラムは『Excel2003』以降で使用できます。

このプログラムについて
 このプログラムは画像をトリミング(切り取り)し、
 その画像をOCR(文字変換)するソフトです。
 ただし、トリミング後の図に含まれる文字数が5文字未満だと、
 日本語変換が「OCRエラー」になる可能性があります。


まず初めにライブラリの参照設定をすること
 ・メニューの ツール > マクロ > Visual Basic Editor でVisualBasic画面を起動
 ・ VisualBasic画面の メニューの ツール > 参照設定で参照設定を開く
 ・□Microsoft Office Document Imaging 11.0 Type Library ←にチェック


つづけてVBAでフォームを作成
 ・ VisualBasic画面の メニューの 挿入 > ユーザーフォーム
 (フォームは挿入するだけでOK) 


シートの操作
 ・どのシートでも良いので「設定」とシート名をつける。
 ・「設定」シートの中にボタンを作成する。(マクロ起動用)


設定シートについて
 セルE2:OCR実行中にOCR解析中の文字が入力されます。
 セルC3:画像のフォルダのパスを入力。
     空白の場合はこのExcelと同じフォルダをデフォルトの参照場所とします。

 セルB5~I5:この行は見出しです。とりあえず何か入力してください。
      (何か入力されてれば問題ない)

 セルB6:取得したい場所名など自由に入力してください。
     (ここに何か文字が入力されてれば下記7項目を取得する)

 セルC6:OCR判定の型です。「英数字」「日本語」のどちらかを記入して下さい。
 セルD6:トリミングの上位置(上から記入ピクセルまでを削除)
 セルE6:トリミングの下位置(下から記入ピクセルまでを削除)
 セルF6:トリミングの左位置(左から記入ピクセルまでを削除)
 セルG6:トリミングの右位置(右から記入ピクセルまでを削除)
 セルH6:結果を記入するシート名
 セルI6:結果を記入するセル番地。(セルH6に記入したシート上)


コードのコピペ
 ・メニューの ツール > マクロ > Visual Basic Editor でVisualBasic画面を起動
 ・ブログのコードをコピーし 設定シート へ貼り付け。


トリミングのサイズを調べる方法
 ・まずは一度、[トリミング&OCR実行]ボタンで実行し元画像を選択して下さい。
  (結果は気にせずに)
 ・このExcelと同フォルダに「image1.bmp」が作成されます。
 ・このExcelを一度閉じて、新たにExcelを開きます。
 ・メニューの 挿入 > 図 > ファイル このExcelと同フォルダの「image1.bmp」を選択。
 ・メニューの ツール > マクロ > 新しいマクロの記述。
 ・図形のトリミングを手動で行う。
 ・マクロの停止をクリック。
 ・メニューの ツール > マクロ > マクロ 記録したマクロを選択し編集。
 ・Selection.ShapeRange.PictureFormat.CropTop の値がCropTopになる。
 ・同じようにCropBottom、CropLeft、CropRightの値を記入する。
 ※1ピクセル=0.75 なので 0.75で割り切れる数字を入力


現在確認されている不具合
 ・実行後に、図の取り込みや、オートシェープを実行するとフリーズする。
  (MODI.DocumentのCreateを実行後から)
  対策が思いつかないので、使用後は一度Excelを閉じた方がいい。


開発中のメモ
 ・一度フォームに取り込みしてから保存してるのは、図を安定させるため。
 ・あるビットマップでは解像度が71dpiだったのでフォームに取り込みしてから
  保存すると96dpiで安定した。
 ・図をトリミング無しでOCRして、レイアウト情報から場所別に出力も考えたが、
  日本語で全部OCRすると数字部の解析率が悪くなる。
 ・数字部は「英数字」でOCRした方が解析率がかなり高かったので、
  トリミング無しは断念した。
 (レイアウト情報は取得可能。参考までに設定の隣に出力させてる)

 ・フォームに、スクロールバー付のフレーム貼り付けて、
  中にイメージ貼り付け図を挿入し、フレームの縦横サイズを
  テキストボックスの値入力で変更できるようにする。
  そうすれば下記の方法でトリミングサイズやレイアウトを
  取得できると思うが面倒なので断念。
  1.現在表示されてる座標をスクロールバーから取得
  2.フレームのサイズを取得





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2010.06.28 16:42:10
コメント(0) | コメントを書く



© Rakuten Group, Inc.