パソコンカレッジ スタッフのひとりごと

パソコンスクールのスタッフが、
初心者から上級者まで役立つ情報をお伝えします。

文字列を効率的に抽出する方法-正規表現(Visual Basic2005以降)

2010-08-31 09:00:06 | Visual Basic
今日は、Visual Basic(VB)を取り上げますよ。

例えば、テキストファイルがあります。そこには、好きな食べ物とその理由が書いてあるとしましょう。
こんな感じです。




お気づきの通り、htmlファイルですね。
つまり、タグを除外し、その食べ物と理由だけを取り出したいとします。

こんなとき、どうしたら簡単にできるでしょうか?

文字列を操作する関数は、たくさんあります。
indexOfを駆使して、できないことはありませんが、大変です。

実は、強い味方がいるのです。それは、正規表現です。
VBも、正規表現ができるようになったのです。ありがたい。

それでは、一緒に、チャレンジしてみましょう。

まずは、任意の名前で、新規プロジェクトを作成してください。




上の絵のように、コントロールを配置してください。
テキストボックスが2つ(左がTextBox1 右がTextBox2です)
ボタンが2つ(左がButton1 右がButton2です)
テキストプロパティは、それぞれ、「読み込み」「抽出」としました。


なお、テキストボックスは、MultilineプロパティをTrueにしてください。
そうすると、複数行を表示することができます。
また、ScrollBarsプロパティをVertical もしくは、Bothにしてください


そうそう、htmlファイルの内容を読み込まなくてはなりません。
今回は、このプロジェクトにhtmlファイルを取り込んでみます。
そうすれば、パスなしでファイル名だけで、指定できるので楽ができます。


プロジェクト→既存項目の追加 をクリックします。





今回は、デスクトップに保存してあるtabemono.htmlというファイルを追加します。

(オブジェクトの種類を「すべて」にすると、htmlファイルが表示されます)





追加すると、プロジェクトエクスプローラにtabemono.htmlが表示されます。


忘れないうちに、プロパティの「出力ディレクトリにコピー」を「常にコピーする」にしておきます。
こうすると実行ファイルと同じフォルダにファイルがコピーされるので、パスなしのファイル名のみの指定が可能になります。





それでは、左の「読み込み」ボタンをダブルクリックしてください。
以下のようにコードを記述します。

忘れないでほしいのは、モジュールの冒頭にある名前空間のインポートです。
冒頭の2行で、ファイルの読み書きと、正規表現に関するコードを簡単に記述することができます。





シンプルなコードですね。

StreamReaderクラスを使って、ファイルの中身を一気に取得して、テキストボックスに表示しています。
Openステートメントを使っていた昔より、楽なコードですよね。




それでは、「抽出」ボタンをクリックしたときのコードを記述します。
ここで正規表現を使いますよ。




ずいぶんと短いコードだと思いませんか?
これが、正規表現を使うメリットです。

split関数は、指定したパターン文字列で、元のテキストを分離分割していきます。
今回は、div開始タグで分割しました。

あとは、分割された各データの中から、食べ物と理由を抜き出せばいいのです。


h2タグやpタグの内容を取得する際に、正規表現を使っています。
([^

で始まり、

で終わる文字列を探し出すことができるのです。

そして、その探し出した文字列の中の任意の文字列部分をgroup(1).value で取得できるのです。


さあ、完成したところで、デバッグしてみましょう。
F5を押します。

「読み込み」ボタンをクリックすると、htmlファイルのデータを取得できます。





「抽出」ボタンをクリックすると、左の文字列から、ちゃんと食べ物と理由を抜き出して表示されているのが分かりますね。





慣れないうちは、正規表現の書き方で苦労するかもしれませんが、
使いこなせると、格段にコーディングの効率が上がります。

ありがたい機能の一つです。

ブログゲットくんでも、大活躍の機能です。

ブログゲットくんのサイトはこちらですよ。




だい
コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

過去のお勧め記事

2010-08-28 09:01:50 | その他
おはようございます。

先週の「過去のお勧め記事」はお休みしましたが、今週はまたお届けしますね。

今回はmihoりん特集です。(^_^;)


息子オススメ(*^_^*)フリーソフト Craving Explorer

生年月日から"○歳○ヵ月"を計算する(Excel)

西暦から干支を知る(Excel)


今週も、是非ご覧になってくださいね。
コメント (10)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

累計額を表示する (Access)

2010-08-26 09:00:12 | Access(アクセス)
みなさんおはようございます。

さて今日はAccessネタです。

先日久しぶりにAccessのレッスンをしました。

生徒のAさんは自営業。

受注管理や社員さんの給与管理、そしてスケジュール管理をしようと、Accessで

開発しながらお勉強しています。(りっぱ!)

さて、このような↓支払額を入力するフォームを作ったところ・・・



「ねぇ先生、私支払い額の累計も出したいんですが・・」

なるほど。いい考えですね。

このような場合、クエリに計算してもらいますよ。

(今回は2007で解説します。もちろん2002/2003でもできますからね)

では、このフォームのレコードソースを見てみましょう。

フォームのプロパティから





レコードソースはQ支払額ですね。

...をクリックしてクエリビルダを起ちあげます。



「支払額累計」というフィールドを1つ追加して、数式をいれますよ。こうなります↓



支払額累計: DSum("支払金額","T支払額","ID



はい出来上がり。



いつも思うけど、こういう時の為の関数がちゃんと用意されていてありがたいです。♪

生徒さんも「うれし~い(*^_^*)」

いいね♪楽しくなってきましたね 次は何をやりましょうか(*^_^*)

Accessの楽しいレッスンは続く・・

mihoりん
コメント (6)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ツールバーが出ない。本当に出ない。(Word2002/2003編)

2010-08-24 09:01:07 | ワード
みなさんおはようございます。

先日公開しました「ブログゲットくん」

DLしていただいた皆さま、記事を読んでくださった皆さま

本当にありがとうございます♪どうぞこれからも暖かい応援よろしくお願いいたします

これからという方はこちらをご覧になってください↓

「ブログゲットくん いよいよ明日公開です」

「ブログゲットくんを公開しました」


さて、

実はお盆前にちょっとおもしろい現象があったので、今日はこれを記事にしたいと思います。

生徒のTさんが・・・

「昨日から図のツールバーが出ないんですぅ(Word) 私なにかしちゃったかしら(汗っ)」

どれどれ きっと大丈夫。バージョンは2003ですね。

じゃあね、表示メニューからツールバーをポイントしてね。ほらたくさんツールバーの名前が

出てくるでしょ。ここで「図」をクリックすれば出ま・・す・・・あれ??????

(ちゃんとチェックが入ってる・・)

あれ?ということはWord上に表示されているはず・・・

無い・・・無いじゃん・・

じゃあ何か図を入れてみれば表示されるかな?

ダメ・・・ダメじゃん・・

えーーーー!!どうして表示されているはずの「図のツールバー」がどこにもないの?

調べる・・

調べる・・

ネットでも調べる・・

(うぇ~ん情報はないなぁ)

きっとWordのWindowの外に飛び出しちゃったんだぁ・・

まちがいない!

こんなこともあるんですねぇ

さっそく呼び戻してこなくちゃ!

・・

前置きが長くなりましたが、「ツールバー呼び戻し作戦」実行です。

今回はVBAを使いますよ。

ExcelVBAはよく使うのですが、WordのVBAはどうかなぁ・・

まずはいなくなっちゃった「図」のツールバーを表示させるマクロでも作ってみましょう。

「ツール」メニュー→「マクロ」→「新しいマクロの記録」から記録開始。



「図」のツールバーを表示させるように操作して記録終了。

キーボードのAlt+F11キーでVBAエディタを起動すると↓このようなコードができました。



さぁ実行しても・・画面上には表示されるわけありません。Windowの外で表示されているんですから。

では一応表示した「図」のツールバーをメニューバーの下に表示するようコードを追加しますよ。

こうです↓



それでは実行してみましょう。

やった!どこからか戻ってきました!



生徒さんも私も「ばんざーい」

さらに私 かなり興奮。

・・

・・

・・(あー この感動をリアルに伝えられたらいいのに(*_*;)

というわけで、

「ツールバー呼び戻し作戦」大成功です。

皆さんの中にももし!ツールバーがどこかへ行ってしまって困っている方がいらっしゃったら

どうぞこのコードでお試しください。




表を参考にコードの中の ("ここを書き換える") でOKです。



あとは実行するのみ(*^_^*)

さぁ今日も楽しくレッスンしますよ。


mihoりん
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ブログゲットくんを公開します。

2010-08-21 09:57:57 | その他
みなさん、おはようございます。

今日は、過去のブログの紹介の日なのですが、紹介は、おやすみです。

そのかわり・・・

昨日のお約束のとおり・・・



お好きなgooブログの記事をあなたのパソコンに保存するソフト「ブログゲットくん」を公開します。

無料でお使いいただけます。

なお、今回のソフトは、gooブログの記事しか取得できませんのでご了承ください。

他のブログについても対応できるように現在開発中ですので、しばらくお待ちください。

ブログゲットくんの紹介とダウンロードはこちら。



なお、gooブログであっても、取得できないブログもあるかもしれません。恐れ入りますが、ご了承ください。

どうか、ブログゲットくんを温かく見守ってやってくださいね。




だい
コメント (16)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ブログゲットくん いよいよ明日公開です

2010-08-20 09:11:09 | その他
前回の記事でご紹介しましたように、「ブログゲットくん」をいよいよ公開します。

公開日は、8月21日、つまり、明日です。


応援のコメントをくださいました皆様、本当にありがとうございます。

大きな大きな励みになっております。


明日の、午前10時に、このブログで、ダウンロード先のURLを発表しますからね。



さて、明日の公開に先立ち、このブログをご覧になっている方だけに、

こっそりと、ブログゲットくんのソフトの紹介をいたします。

せっかくですから、動画で見せちゃいます。

面白そうだと思ったら、ぜひ、明日、ダウンロードしてください。

「ブログゲットくん」は、無料でお使いいただけます。


それでは、ご覧ください。





これからもよろしくお願いいたします。




だい
コメント (6)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

メモリを増設したら、メモリのエラーチェックを。

2010-08-19 09:03:10 | ハードウェア
ある日、だいさんが・・・

「これ、生徒さんのノートPCなんだけど調子悪いからケンさんみてくれる? どうもあるソフトが悪さをして
いるみたいなんだ。正常にアンインストールができないし。」

「分かりました。じゃあ、みてみます。}

と、言う事で私が見ることになりました。
でも、後で考えるとこの会話の「あるソフトが悪さをしているみたい」と言う言葉に惑わされて解決が
遅くなってしまったんですねぇ。

私はそのノートPCを預かって、メンテナンスしたり色々やりましたが、まだ調子悪い。
もちろん「あるソフト」と言うのは完全にアンインストールしました。

これ以上はリカバリしかないと言う事でだいさんがリカバリをしましたが、まだ調子悪い。
何か作業をしていると、再起動したりシャットダウンしてしまう。

「だいさん、もしかしてこのPCのメモリを増設してませんか?」

「増設したよ。」

「やっぱり。」

ここで私はピンときました。原因はメモリだと。

古いノートPCなのでメモリが「SDRAM」と言う古い規格のやつ。(現在は「DDR2 SDRAM」や「DDR3 SDRAM」が主流)

話を聞くと「BUFFALO」などの動作検証されたメモリだともの凄く高かったので安いバルクのメモリにしたとの事。
メモリって古いのは流通量が少ないので高いんですよね。

早速メモリチェックの定番ソフト「Memtest86+」でエラーチェックをするとやはりエラーが。



増設したメモリを外してエラーチェックをするとエラーはない。最低2周はやります。



やはり原因はメモリでしたね。幸い、相性保障を付けて買ったそうなので交換してもらう事に。


また前置きが長くなってしまいましたが、「Memtest86+」でエラーチェックをする方法を書きますね。

まずは、下記サイトから「Memtest86+」をダウンロードします。FDD版もありますが、今回はCD版で作ります。

Memtest86+ - Advanced Memory Diagnostic Tool

「Download - Pre-Compiled Bootable ISO (.zip)」をクリックしてダウンロードします。
(スクロールしてページの中ほどです)



ダウンロードしたzipファイルを解凍して、フォルダを開くと「mt410.iso」と言うファイルがあります。



これをCD-Rに焼きます。


isoファイルを焼く事が出来るライティングソフトを使います。
今回は私が使っている「DVD Decrypter」と言うソフトで説明しますね。
「DVD Decrypter」はライティングだけでなくリッピングも出来る優れものです。

入手や日本語化などは下記サイトをご参考に。

DVD Decrypterの入手・日本語化・使い方


まず「DVD Decrypter」を起動して、メニューの「モード」→「ISO」→「書き込み」にチェックを入れます。



「ファイル」→「参照」から、先ほどの「mt410.iso」ファイルを開きます。



あとは「ファイル」→「書き込み」をクリックすれば焼けます。




「Memtest86+」のCD-Rが出来たら、それをドライブに入れてPCを再起動します。
大抵のPCは初期設定でCDから起動するようになっているので、PCを再起動すると「Memtest86+」がエラーチェックを始めます。
Windowsが起動してしまった場合はBIOSで設定し直すのですが、方法はPCのマニュアルに書いてあります。

上でも書きましたが、最低でも2周(2Pass)はやってくださいね。
1週めにエラーがなくても2周目にエラーになる事もありますから。

終了するには「Esc」キーを押してください。「Esc」キーを押すまで延々とチェックしてますからね。


最初にメモリを増設した事を話してくれたら、余計な作業をしなくてすんだのになぁ。



(ケン)
コメント (6)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

まもなく公開!ブログの記事を自分のパソコンに保存しよう

2010-08-17 08:50:44 | その他
みなさん、楽しいお盆を過ごされましたか?

さて、みなさんにご報告があります。



ブログって、便利ですよね。弊社もこのブログで情報を提供しています。

でも、ブログって過去の記事を探すのが大変だったりします。

それに、どんどん投稿していくと、過去の記事が埋もれていってしまい、みんなに見てもらえなくなりますよね。

せっかく書いたブログの記事、過去の記事も含めて、もっとみんなに見てもらいたいと思ったことはありませんか?

そうだ!自分のホームページで、ブログの記事を公開すればいいんだ。

カテゴリ別に、きちんとメニューをつければ、過去の記事ももっと見てもらえるかもしれない。

それに、検索に引っかかりやすくなるかもしれない。

でも、どうしたらいいのかな?
膨大な過去の記事をどうやってhtmlファイルにすればいいんだろう。手作業では、やりたくない。


いい方法はないものか。


そうだ!そんなことができるソフトを作ってしまえばいいじゃないか。



実は、そんな実体験の中から、「ブログゲットくん」は誕生しました。


パソコンカレッジのサイトをご覧ください。

本ソフトを使ってブログの記事をひとつずつWebページにして、公開しております。

完全に自分のサイトのコンテンツとしてなじんでますよね。

「ブログゲットくん」はすべての記事を保存することも、
あるカテゴリの記事だけを保存することも、
まったくの任意の記事を保存することもできます。

ご自分のパソコンの任意のフォルダに保存することができます。

保存先は、「設定」メニューの「オプション」で自由に設定できます。


「ブログゲットくん」を使って、ブログの記事をWebページに変換して保存すると、
カテゴリ別に記事が整理されたメニューが自動生成されるので、
見たい記事を簡単に探せます。

もちろん、トップページ(index.html)も自動生成されますので、
ひとつの完結したサイトとしても通用します。

ご自分の過去の記事も含めて、より多くの人に見てもらいたいと思いませんか?

「ブログゲットくん」で保存したWebページを、ご自分のサイトにアップロードすれば、
より多くの方に見てもらえます。


「ブログゲットくん」は、無料でお使いいただけます。

まもなく公開です。お楽しみに。



だい
コメント (9)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

パソコンのメンテナンス

2010-08-13 09:03:25 | WindowsXP・Vista・Windows7
もうすでにお盆休みのところも多いと思いますが、弊社も今日から16日までお盆休みです。

今回は連休恒例(?)のPCのメンテナンス記事です。

以下に過去の記事のリンクを貼っておきますので、ご参考に。

初心者でも出来る!メンテナンス方法 (XP)

初心者でも出来る!メンテナンス方法 (Vista)

※Windows7もVistaとほぼ同じです。


OSのメンテナンスが終わったら、PCのハードウェア(PC本体やモニタなど)もメンテナンスして綺麗にしましょう。
デスクトップPCならケースを開けて埃を掃いましょうね。
メーカー製PCでもマニュアルにケースの開け方が書いてあります。結構簡単ですよ。

プロのお勧め!PCのメンテナンス用品


今年の夏は特に暑いですよね。PCも悲鳴をあげてます。
PCの温度にも注意しましょう。

PCパーツの温度


それでは、よいお盆休みを。(^_^;)



(ケン)
コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「ハードウェアの安全な取り外し」で、エラー。(XP)

2010-08-12 09:01:35 | WindowsXP・Vista・Windows7
今回も「ハードウェアの安全な取り外し」での、トラブル対応の記事です。

USBメモリなどを取り外す時にタスクトレイの「ハードウェアの安全な取り外し」アイコンから行いますが、
二通りの方法があるのはご存知ですよね。

まず一つ目は、「ハードウェアの安全な取り外し」アイコンを右クリックして「ハードウェアの安全な取り外し」を
クリック。または、「ハードウェアの安全な取り外し」アイコンをダブルクリック。



「ハードウェアの安全な取り外し」のウインドウがでるので、「停止」をクリック。



「ハードウェア デバイスの停止」で「OK」をクリック。




二つ目の方法は、「ハードウェアの安全な取り外し」アイコンをクリック。(ダブルクリックじゃあないですよ)
ポップアップメッセージをクリック。




ちなみにWindows7では二つ目の方法と同じ方法です。(一つ目の方法はないです)




さて、前置きが長くなりましたが。

お客さんのPCで一つ目の方法で行うと「"SHELL32,DLL,Control_RunDLL hotplug.dll"の実行中に、例外が発生しました。」と
エラーメッセージが表示され強制終了してしまうと言うトラブルが発生しました。

二つ目の方法で行うとエラーは出ず正常に取り外せます。

お客さんは一つ目の方法で行っていたので、二つ目の方法をお教えしました。
お客さんは「この方法ならエラーが出ないからこれでいいよ」と言ってくれましたが、それでは私の気がすみません。
何とかエラーを直さないとね。

こんな時はやっぱりネットで検索です。

するとありましたよ。ずばりエラーメッセージ通りのタイトルのサイトが。

SHELL32,DLL,Control_RunDLL hotplug.dllの実行中に、例外が発生しました

どうやらドライバの再インストールで直るらしい。

サイトの方法で行いましたが、どうしても「汎用ボリューム」が二つ残ってしまいます。
それでも再起動して確認すると、一つ目の方法でもエラーが出なくなりました。

やっぱりエラーメッセージが出るのは精神衛生上よくないですからね。(^_^;)

何か最近トラブル対応の仕事が多いなぁ。



(ケン)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

2010年08月のWindows Updateでntoskrnl.exeが書き換えられました

2010-08-11 23:02:03 | カスタマイズ
長い間アップロードしていなかったのですが、今月のWindows Update(Microsoft Update)で
XPのntoskrnl.exeが書き換えられましたので、Boot画面を作り直してアップしました。

SP2は先月でサポートが終了しているので、アップデートは「悪意のあるソフトウェアの削除ツール」
だけです。


ダウンロードパスワード: 3024


ダウンロードはこちらから


方法は「XPをVista風にカスタマイズ ここまで出来る! Part-4」に書いてあります。


↓Vista風 Boot画面




カスタマイズしていない人もXPのSP2は先月でサポートが終了しましたので、SP3にアップデートしてくださいね。


※カスタマイズする時は、大事なデータはバックアップして
 「システムの復元」で復元ポイントを作成してから行って下さい。

 そして、自己責任にてお願いします。



(ケン)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

エクセルファイル(ブック)間のデータの転記処理(Excel2002以降)

2010-08-10 09:00:30 | ExcelVBA
今回は、前回の記事の続きです。

前回の記事「任意のフォルダ内のファイルをすべて取得する方法」はこちらです。

今回の目的は、
「指定したフォルダ内のすべてのエクセルファイルから、ある値を抜き出して、
集計表を作成する」というものです。

指定したフォルダ内には、いくつのエクセルファイルがあろうと構いません。
ただし、コードを分かりやすくするために、エクセルファイルだけが存在するものとします。

また、今回のコード(ExcelVBA)を記述するファイルに、集計表を作成するものとします。


例として、以下のような集計表を作成します。お客様の購入額集計表ですね。




誰がどのくらい購入したかは、別のエクセルファイル(ブック)で管理されているものとします。
そのファイルは、お客様ごとに別々のファイルで管理されています。



例えば、横山さんのファイルを開くと、以下のような表があるとします。






C列2行目に、お客様の氏名が、 C列15行目に購入金額の合計額がそれぞれありますね。

この値を、集計表に転記するのが、今回の目的です。

つまり、フォルダ内に存在するエクセルファイル全てについて、C列2行目の値とC列15行目の値をコピーして
集計表に貼り付ければいいわけです。


さて、エクセルファイルの保存されているフォルダについて、今回は、以下のような設定で話を進めます。

もちろん、どのフォルダであろうと、ちゃんと動くプログラムを作りますからね。


Cドライブの直下に「ブック間の処理」というフォルダがあるとします。(べたな名前で済みません。。。)

その中に、「集計ファイル」というブックがありますね。これが、集計表のあるエクセルファイルという設定です。
したがって、今回は、この集計ファイルを開いて、そこにExcelVBAを記述するわけですよ。





よく見ると、「購入記録」というフォルダがありますね。

そうです。その中に、顧客ごとの購入情報が入力されたエクセルファイルが保存されているわけです。

今回は、分かりやすくするために、ファイル数は3つと少なめですが、多くても大丈夫ですよ。



また、ファイル名は、顧客名ではありませんね。別にどんなファイル名でも今回は構いませんよ。


それでは、集計ファイルを開いて、さっそくコーディングしましょう。


エクセルを起動したら、Altキーを押しながらF11キーを押します。
すると、Visual Basic Editorが起動します。

コードを記述するモジュールが必要なので、「挿入」→「標準モジュール」とクリックします。






これで、用意ができました。

今回もまた、ファイル操作を扱うので、「ファイルシステムオブジェクト」を使います。

この機能は、初期設定では使用できるようになっていませんのでご注意を。

次のようにして、使えるようにしてくださいね。

「ツール」→「参照設定」とクリックします。





参照設定ダイアログボックスが表示されたら、一覧を下にスクロールして、「Microsoft Scripting Runtime」に
チェックを入れてください。

そして、OKボタンを押します。

これで、「ファイルシステムオブジェクト」を使用する準備ができました。

この作業が大切ですので、忘れずにお願いします。






それでは、コードを記述しましょう。

まず、サブルーチンからです。引数つきですよ。



Private Sub GetData(ByVal FolderPath As String)
    '引数付のサブルーチン
    '引数は、フォルダーのパス
    Dim FSO As New FileSystemObject
    Dim Files As Files
    Dim File As File
    Dim FileName As String
    Dim TenkiRow As Integer
    
    '引数のパス内のファイル一覧を取得
    Set Files = FSO.GetFolder(FolderPath).Files
    For Each File In Files
        'フルパスを取得
        FileName = FolderPath & "" & File.Name
        'ファイルを開く
        Workbooks.Open FileName
        
        With ThisWorkbook.Worksheets(1)
            '転記先の行を取得
            TenkiRow = .Range("B65536").End(xlUp).Offset(1).Row
            '転記作業
            .Range("B" & TenkiRow).Value = _
                ActiveWorkbook.Worksheets(1).Range("C2").Value
            .Range("C" & TenkiRow).Value = _
                ActiveWorkbook.Worksheets(1).Range("C15").Value
        End With
        'ファイルを閉じる
        ActiveWorkbook.Close False
    Next
End Sub


画像も載せておきます。




処理の概要は、前回と同様ですね。

For Each ~ Next構文の繰り返し処理を使って、
指定したフォルダ内のファイルをひとつずつ開いては、
C2とc15の値を、集計ファイルの最終行の直下に転記していきます。
今回は、コピーメソッドを使わずに、値の代入方式を採用しました。
なお、コードを書いている等のファイル(集計ファイル.xls)は、
ThisWorkbook というオブジェクトで参照できるんですよ。
そうそう、転記後、閉じることを忘れずに。


もうひとつ、このサブルーチンを呼び出すプロシージャを作る必要があります。

以下のようにコーディングしてください。



Sub ファイルの取得()
'サブルーチンを使って、
'指定フォルダ内のファイルの値を転記する

Dim MyPath As String

'変数に、フォルダのパスを代入
MyPath = "C:ブック間の処理購入記録"

'サブルーチンの呼び出し
GetData MyPath

End Sub



サブルーチンを呼び出す際に、フォルダのパスをお忘れなく。(エラーになりますよ)



画像はこちら。





それでは、エクセルに切り替えて、実行してみましょう。

Altキーを押しながらF8キーを押します。

マクロダイアログボックスが表示されます。

実行ボタンを押します。





ファイルが開かれたり閉じたりと素早く画面が移り変わりますが、少し待つと、
値が代入された購入表が現れて終了します。





このような処理が必要になる場面は、実務では、意外と多いのではないでしょうか?

参考になれば、幸いです。



だい暑い
コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

過去のお勧め記事

2010-08-07 09:01:20 | その他
おはようございます。

いつも「Excel」ネタが多いのですが、今日は「Excel」以外のネタをピックアップしてみました。
「Excel」ネタがダントツに多いので仕方が無いんですけどね。(^_^;)


このメモ帳は使えますね(*^_^*)

PC用語の読み方

テキストファイルの内容を読み込む(VB/Visual Studio2008)


今週も、是非ご覧になってください。

コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Windows7の「Login画面(ようこそ画面)」をデスクトップの壁紙にする。

2010-08-05 09:01:08 | WindowsXP・Vista・Windows7
先日お客さんのところへメンテナンスに伺った時にこんな事を頼まれました。

「Windows7のようこそ画面をデスクトップの壁紙にしたいのだけど。」

「どうしてです?」

「あのバックの画像が気に入っちゃて、壁紙にしたいんだ。」

「出来ない事はないですけど。」

「じゃあ、やってもらえないかな?」

「分かりました。やりましょう。」

と、言う事で「Login画面(ようこそ画面)」の背景の画像を壁紙にする事になりました。


まずは背景の画像を抜き出します。
これには「カスタマイズ」のカテゴリで使った「Resource Hacker」と言うソフトを使います。
もう大分古いソフトですが、Windows7でも使えます。

まずこれをダウンロード。ダウンロードした「zip」ファイルを解凍してそのフォルダのなかの
「ResHacker.exe」をダブルクリックするだけで「Resource Hacker」が起動します。
特にインストールの必要はないです。

さて、肝心の「Login画面(ようこそ画面)」の背景の画像を探さないとね。

これは「C:\Windows\System32\imageres.dll」にあります。

「Resource Hacker」で、「imageres.dll」ファイルを開きます。
「IMAGE」の「5031」から「5043」までが背景の画像です。幾つもの解像度の画像があります。

「5031」の「1033」をクリックすると右ペインに背景画像が表示されます。



あとはメニューの「アクション」→「保存する」をクリックして適当な名前で「マイピクチャ」フォルダに
保存します。保存形式は「jpg」です。



壁紙の変更はデスクトップ上で右クリックして「個人設定」から変更するだけです。



するとこんな感じになります。




幾つもの解像度の画像がありますので、自分のPCの解像度に合わせてくださいね。
同じ解像度がなければ、近い解像度かアスペクト比(縦横比)が同じのにしてください。

ちなみにお客さんのPCは「1366×768ピクセル」だったので「1360×768ピクセル」にしました。

※キャプチャー画像は私のPCのです。

以下は「IMAGE」の「5031」から「5043」までの解像度です。

「5031」→「1280×1024ピクセル」
「5032」→「1280×960ピクセル」
「5033」→「1024×768ピクセル」
「5034」→「1600×1200ピクセル」
「5035」→「1440×900ピクセル」
「5036」→「1920×1200ピクセル」
「5037」→「1280×768ピクセル」
「5038」→「1360×768ピクセル」
「5039」→「1024×1280ピクセル」
「5040」→「960×1280ピクセル」
「5041」→「900×1440ピクセル」
「5042」→「768×1280ピクセル」
「5043」→「768×1360ピクセル」


お客さんは結構気に入ってましたよ。

画像は「jpg」なので、Windows7以外のOSでも使えます。

ダウンロードする人はいないかもしれませんが、抜き出した画像ファイルをアップローダにアップしました。

ダウンロードパスワード: 3024

ダウンロードはこちらから


ダウンロードした「壁紙.zip」を解凍すると抜き出した全ての解像度の画像が入っています。


ちょっと面倒ですが、Vistaの「Login画面(ようこそ画面)」をWindows7のにも出来ます。
そして、VistaもWindows7も「Login画面(ようこそ画面)」を自分の好きな画像にも出来ますよ。
もちろんXPも自分の好きな画像に出来ますけどね。


mihoりんもこの画像が気に入ってXPのノートPCの壁紙にしてます。(^_^;)


(ケン)
コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

グラフの項目軸に日付を配置すると・・(Excel)

2010-08-03 09:02:45 | エクセル
おはようございます。

さて、今日はExcelのグラフネタですよ。

生徒さんがおうちで血圧を測定し、それを表にまとめ、さらにグラフを作成してきました。

おー(*^_^*)よく出来ていますね。↓



すると・・

「でも先生、私は毎日は測定していないのにグラフの項目軸には日付が連番で配置されてしまうんですよ。」

あっほんとだぁ



まぁこれはExcelが気を利かせてくれたんでしょうね(どんな?)

じゃあ表のとおりに項目軸が配置されるようになおしましょう。

「やっぱりなおるんだぁ(*^_^*)」

そうなんです。


2007はグラフの項目軸の上で右クリック→「軸の書式設定」を選択



そして↓このようにしてくださいね。



2002/2003はグラフを選択し、「グラフ」メニュー→「グラフのオプション」からこのようにしてください↓



はいできあがり。



項目軸に日付を配置する場合初期設定では連番がふられてしまうので、手動でなおすんですよ(*^_^*)

「いやーすっきりしました(*^_^*)」

よかったよかった

mihoりん
コメント (17)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

【おすすめ】

パソコン買ったらまず入れる10のアプリ