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

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

パソコンのメンテナンス

2010-04-30 09:01:11 | WindowsXP・Vista・Windows7
ゴールデンウィークに突入しましたが、皆さんはどんなご予定でしょうか?

もし遊びに行く予定がなければ、この連休を利用してパソコンのメンテナンスをしては如何でしょうか?

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


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

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

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


OSのメンテナンスが終わったら、PCのハードウェア(PC本体やモニタなど)もメンテナンスして綺麗にしましょう。

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


それでは、よい連休をお過ごしくださいね。



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

Googleの検索結果の総数一覧表を作成する その3(ExcelVBA)

2010-04-27 09:16:50 | ExcelVBA
今回は、Webページから取得したデータの中から、目的の検索結果の総数を
いかに取り出すかを一緒に考えてみたいと思います。

さて、前回は、左から2番目のシートに、データを取り込んだところまででした。


10行目に、検索結果の総数がありますね。
この数字だけを取り出したいのです。







しかし、毎回10行目にあるとは限らないのです。(確認したら、そうでした)

ですから、取り込んだ全てのデータから、何とか見つけ出すしかないのです。

つまり、1行目から、順番に検索結果の総数の数字があるかどうかをチェックしていけばいいのです。

取り込んだデータをよく見てください。

検索結果の総数は、「検索結果」という文字の後にあるのです。

従って、1行目から、「検索結果」という文字が存在するかどうかをチェックすればいいのです。

こんなときは、Instr という関数を使用します。

そして、存在したら、今度は、その数字の後ろの文字、「件中」までの間の文字を
抜き出せば、数字を取り出すことができそうです。

ただし、数字の前に、約 という文字がありますね。
何度か検索してみたところ、この 約 という文字は、必ずしもあるわけではないことが分かりました。

そんな時は、どうすればいいのでしょう。

約という文字がある場合と、ない場合で、処理を分岐する方法もありますが、
実は、もっと簡単な方法があります。

「置換」という機能を使うのです。

この方法を使うと、条件分岐をする必要がありません。だから、コードがシンプルになります。ありがたいですね。

あとは、求める数字の両端に空白がある場合がありますので、関数を使って除去します。


以上が、処理の流れです。

なお、今回の処理は、必ず答えが出るので、Functionプロシージャとして作ります。
いわゆる、ユーザー定義関数ですね。

関数名は、GetKensu としました。


コードで記述すると、以下のようになります。



Function GetKensu() As String
    Dim i As Integer
    Dim LastRow As Integer
    Dim StartPoint As Integer, EndPoint As Integer
    '定数に、今回は、「検索結果」を設定する
    Const StartKeyWord As String = "検索結果"
    
    Sheets(2).Select
    '最終行を見つける
    LastRow = Range("A65536").End(xlUp).Row
    
    For i = 1 To LastRow
        '行に、「検索結果」という文字があるかどうかをチェック。
        StartPoint = InStr(Range("A" & i).Value, StartKeyWord)
        If StartPoint > 0 Then
            '見つかった場合の処理(見つかると、行頭からの文字数を返す)
            EndPoint = InStr(Range("A" & i).Value, "件中")
            '「件中」という文字までの間に、検索件数の数字が存在する
            GetKensu = Mid(Range("a" & i).Value, _
                            StartPoint + Len(StartKeyWord), _
                            EndPoint - (StartPoint + Len(StartKeyWord)))
            '「検索結果」と「件中」の間の文字を取得
            GetKensu = Replace(GetKensu, "約", "")
            '「約」という文字を削除(こういう場合に、置換を使用する)
            GetKensu = Trim(GetKensu)
            '一応、数値の両端の空白を除去しておく
            Exit Function
        End If
    Next
    GetKensu = "なし"
    'もし、検索結果の数値が見つからなかった場合の、この関数の答え
End Function





一応、画像も載せておきます。






緑色の部分は、プログラムで実行されない部分、つまり、コメント行です。
ですから、なくてもかまいません。

この関数を実行すると、検索結果の総数を取得することができます。


VBAには、文字列の制御に関する様々な関数が用意されています。
活用しましょうね。


次回は、いよいよ、クライマックスですよ。、お楽しみに♪


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

Googleの検索結果の総数一覧表を作成する その2(ExcelVBA)

2010-04-23 13:37:04 | ExcelVBA
前回の続きです。
詳しくは、Googleの検索結果の総数一覧表を作成する その1(ExcelVBA)をご覧ください。

それでは、いよいよ、「外部データの取り込み」の「新しいWebクエリ」という機能をつかってみましょう。

この機能は、あとで使い回しますので、マクロの記録で、きちんとコード化しておきましょう。

なお、Excel2003での操作方法となりますのでご了承ください。

まず、別のシートを選択しておきます。
今回は、sheet2 を選択します。
次に、A列1行目を選択しておきます。後の作業が楽になります。

それでは、マクロの記録を始めます。



「ツール」「マクロ」「新しいマクロの記録」とクリックします。





「マクロの記録」ダイアログボックスが表示されます。
マクロ名は、後で変更しますので、何でもかまいません。
ただし、マクロの保存先は、「作業中のブック」にしてください。
「OK」を押します。これで、以降の操作は、すべて記録されます。




ここからが、本番です。
「データ」「外部データの取り込み」「新しいWebクエリ」とクリックします。





「新しいWebクエリ」ダイアログボックスが表示されます。
この中に、どこかのWebサイトが表示されていますね。
どのWebサイトが表示されていてもかまいませんよ。





アドレス欄に、www.google.co.jp と正しく入力して、「移動」ボタンをクリックしてください。
グーグルのサイトが表示されれば、うまくいっていますよ。






Googleの検索窓に、「上田市 ラーメン」と入力して、「Google検索」ボタンをクリックします。






検索結果が表示されるので、サイトの左上の黄色い矢印をクリックします。

黄色い矢印にマウスをあわせると、グレーの枠が表示されます。
この枠の中の情報をエクセルに引っ張ってくることができます。

今回は、検索結果の数字を引っ張って来たいのですが、左上の矢印しか、
検索結果の数字を含まないので、この矢印をクリックしました。

次に、ダイアログボックス下部の「取り込み」ボタンをクリックします。




「データのインポート」画面に切り替わります。
あらかじめA列1行目を選択しておいたので、このまま「OK」ボタンをクリックします。

(この画面で、A列1行目を指定してもかまいません)





Web上のデータが、エクセルに取り込まれます。
今回は、10行目に注目して下さい。
ここに、僕らの目的である検索結果の数字がありますね。
この数字を取り込みたかったのです。(つまり、後のデータは、不要なんですね。)

それでは、ここで、「記録の終了」ボタンをクリックします。(四角いボタンですよ)





Alt + F11 で、Visual Basic Editorに切り替えます。

以下のようなコードが、記述されます。


Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2010/4/23  ユーザー名 : tatsudai
'

'
    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.google.co.jp/search?hl=ja&source=hp&q=%E4%B8%8A%E7%94%B0%
E5%B8%82%E3%80%80%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3
&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=&aq=f&aqi=g3g-c1g3g-r1&aql=&oq=&gs_rfai="
(紙面の都合上、改行しましたが、実際は1行です)
        , Destination:=Range("A1"))
        .Name = _
        "search?hl=ja&source=hp&q=%E4%B8%8A%(割愛)&oq=&gs_rfai="
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub




一応画像も載せておきます。





今回のコードの中で、赤線を引いた部分が、検索に関する部分です。

この部分を、逐次 別のキーワードに置き換えることができれば、
このマクロ(プロシージャ)は、かなり使い物になります。

その方法は、やがてちゃんと取り上げます。

さて、次回は、その前に、取り込んだデータの中から、
どうやって、検索結果の数字のみを取り出すのか、その方法をご紹介します。

お楽しみに。



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

USBメモリからウイルス感染

2010-04-20 09:01:10 | インターネット
先日、お客さんのPCがウイルスに感染しました。

MAL_OTORUN2」と言うウイルスでUSBメモリから感染したらしいです。
お客さんのPCにはセキュリティソフトは入っていたんですが、それでも感染し駆除出来ませんでした。

そこで、ウイルスバスターのオンラインスキャンでスキャンしたところ、ウイルスは駆除出来ました。

USBメモリから感染するウイルスについては下記サイトを見てくださいね。

USBメモリで広まるウイルスへの対策 セキュリティ情報


しかし、ウイルスは駆除出来ましたがPCに不具合がでていました。
それは隠しファイルやフォルダが表示されない不具合です。

早速調べてみると、ウイルスがレジストリを書き換えてしまったようです。

そこで、以下は書き換えられたレジストリを書き換えて隠しファイルやフォルダを表示出来るようにする方法です。

「ファイル名を指定して実行」から「regedit」と入力して「OK」

「HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder
\Hidden\SHOWALL」をクリック。



右ペインの「CheckedValue」が、隠しファイルやフォルダに関する項目です。



「CheckedValue」をダブルクリックして「値のデータ」の数値を「1」にします。(ウイルスに書き換えられて「0」になっていました)




PCを再起動します。


これで、無事に隠しファイルやフォルダを表示出来るようになりました。


ウイルスってインターネットだけでなく、USBメモリからも感染するので注意しましょうね。
それにセキュリティーソフトをインストールしてあっても感染する場合もありますから。

セキュリティーソフトをインストールしていない人は早急にインストールしてください。
(PCを買ったときにインストールされている試用版を使っている人はちゃんと製品版を購入してくださいね)

ウイルスに感染すれば、自分が被害者になるだけでなく加害者にもなるんですよ。


※レジストリに不正な値を書き込んでしまうとシステムに重大な障害を及ぼし、
最悪の場合システムの再インストールを余儀なくされることもあります。
レジストリエディタの操作は慎重に行うとともに、あくまで御自分のリスクで
設定を行って下さい。



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

Googleの検索結果の総数一覧表を作成する その1(ExcelVBA)

2010-04-16 09:01:05 | ExcelVBA
今日もまた、生徒さんからの鋭い質問を取り上げます。

「先生、実は、こんなお願いがあるのですが。。。」

と言って、生徒さんは、以下のような表を見せてくれました。



「ほう、これは、何ですか?」

「検索の結果が何件あるのかを知りたいのです。いくつも、検索したいパターンがあるんです。
キーワードを入力しておきました。」

「なるほど、上田市 ラーメン で、検索したときに、何件がヒットするのかを調べたいんだね。」

「そうです。今回は、Googleで検索しているのですが、いくつも検索したい項目があるのです。
表には、10パターンほど入力してありますが、実際は、もっとたくさん調べたいのです。
でも、何回も手作業で調べるのが、面倒くさくて。何とか、楽ができませんでしょうか。」

「素直な要望だね。よし、何とかしてあげよう!!」

「本当ですか?」

「はい、それでは、まず、普段どうやって調査しているのか、僕に見せてください。」


生徒さんは、僕に、作業の手順を見せてくれました。
まとめると、次のようになりました。

1.まず、Googleのサイトにアクセスして、検索窓に、キーワードを入力する。
(今回は、上田市 ラーメン で、検索)




2.検索結果の総数が表示されるので、その数字を、メモする。




(拡大画像)




3.エクセルに、その数字を手入力する。今回は、359,000です。


「なるほど、その作業を、今回の表では、10回繰り返すわけですね。」

「そうなんですよ。10回でも、大変なんですよねえ。」

「分かりました。そんなあなたのために、ボタン一つで一気に出来るプログラムを作りましょう。」



さて、今回は、エクセルの表の検索キーワードで検索した結果の総数を取得して、
順次エクセルの表に入力していくプログラムをVBAで制作します。

つまり、F列3行目からF列12行目までのセルに、自動的に、順次、検索結果の総数を代入していきます。

なお、今回のプログラムは、インターネットに接続できる環境が必要です。
でないと、Googleのサイトが表示されませんよね。


それでは、ここからが本題ですよ。

今回のプログラムの処理内容を順番に書いてみましょう。

1.表の3行目にある検索キーワードを、Googleの検索窓に入力する
2.検索する
3.検索結果が表示されたら、総数をコピーする。
4.表のF列3行目に貼り付ける。
5.表の4行目以降について、上記1~4を繰り返す


さて、手順1と手順2は、VBAでどのように実現したらいいのでしょうか?

注目するのは、検索時のURL(アドレス)です。

検索する際に、もろもろの情報をアドレスの後に付加して送信しています。(URLの?以降の部分)
これを、クエリストリングと言います。
この情報の中に、実は、検索キーワードも含まれているのです。



すべて表示すると、以下のようになります。
そして、赤線の部分が、キーワードの情報なのです。




日本語は、アルファベットと数字と記号に置き換えられて(エンコードといいます)、
送信されます。

ということは、この赤線の部分を、うまくプログラムで処理すれば、
任意のキーワードの検索結果のWebページを表示できそうです。


さて、それでは、実際どうしたらいいのでしょうか?

実は、エクセルには、こんなときに最適な機能があるのです。

それは、「外部データの取り込み」の「新しいWebクエリ」という機能です。

次回は、この機能を使って、検索結果の総数を取得するためのプログラムをご紹介しましょう。



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

簡単にワークシートを増やすには(Excel)

2010-04-13 17:43:21 | エクセル
みなさんこんにちは。

もうすぐこんばんはになってしまいますね。

今日のExcelのレッスンの中で

一番喜ばれたれたネタをご紹介しましょう。


生徒さんA:mihoさん ショートカットキーを使えるとかっこいいですね。

先日コピー&貼り付けのショートカットを教えてもらったら、作業が早くなったような気がします~(*^_^*)
今日も何か教えてくださいよ。めずらしいのとか・・

miho:うーん。今ぱっと思い浮かんだのね。いい?

Shift+F11を押してみて。

生徒さんA:いきなりですか

miho:そう

生徒さんA:・・・・なんだかわかんない

miho:じゃあ画面をよく見ていてね。
今度はF4キーを押してみて 何度か押してみて

生徒さんA:F4て直前の操作の繰り返しでしょ。

どれどれ・・

あっわかった。

ワークシートが挿入されてる~♪何枚も~

へぇ~へぇ~

これはおもしろい!

よし!来月分のシートを挿入する際には使うぞ!

(忘れちゃわないでね(*^_^*))

Shift+F11はアクティブシートの左に新規ワークシートを挿入するショートカットです

何枚か挿入したい場合は、F4キーを枚数分押せばOKです。


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

あら?オートフィルが出来ない(Excel)

2010-04-09 09:01:36 | エクセル
みなさんおはようございます。

昨日のレッスンでは、久しぶりに焦ってしまいました。

生徒さんのノートパソコンでExcelのお勉強をしていたのですが、

(ちなみに初心者の生徒さんです)

miho:でわー(*^_^*)セルの右下に■がありますよねぇ ここにマウスを合わせて・・・

先生、■がありませんが・・

miho:・・・あれ?ホントだ。オートフィル出来ないね



miho:・・・こわれてる?

miho:・・・こんなの初めて・・

この間約30秒。

ここでうろたえてはいけないし・・

そんなときは、2003までのOfficeだと「ツールメニュー」→「オプション」

2007は、画面左上のOfficeボタン→Excelのオプションを見に行きましょう。

はっ

まさかこれ・・



でした。



2003では

「ツール」→「オプション」」→「編集」タブ→ドラッグアンドドロップ編集を行う

です。



これが、OFFになっていると、ドラッグではセルの選択しか出来ないのですね。
オートフィルはもちろんドラッグによるセルの移動などもできません。

こんな設定があるとは・・

それにしてもいつここをOFFにしてしまったのでしょうね。(*^_^*)

初期設定では、当然ONです。

生徒さんと笑いました。

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

記録された特定のパスワードを削除する方法(Internet Explorer)

2010-04-06 12:52:39 | インターネット
今日は、裏技をご紹介します。

Internet Explorerで、IDとパスワードを入力すると、保存しますか?というメッセージが
出るのをご覧になったことがあると思います。

その際、ついつい間違って入力してしまい、再度、保存しなおすことがよくあります。
僕は、うっかり者なんですよね。

その場合、いつまでも、間違ったIDが一覧に出て困った経験はありませんか?

例えば、こんな感じです。





ログインしようとして、テキストボックスをクリックすると、
IDの候補が2つ出ています。

実は、pasokare というIDは、間違って登録してしまったものです。

これが実にうっとうしい。
何とかして、この間違ったIDだけを削除できないか、というのが今回のネタです。


実は、あるんです。
しかも、簡単に削除できるのです。


まず、間違ったIDの候補の上に、マウスポインタを乗せます。
決して、クリックしないでくださいね。




次に、キーボードのDeleteキーを押します。

すると、以下のようなダイアログボックスが表示されますので、
「はい」をクリックしてください。






すると、ほら、間違ったIDが削除されます。

これで、間違えずにログインできるようになりました。






長年、こんなことで不自由な思いをしていたのですが、実は、けんさんからこの方法を教えてもらったのです。

こんな簡単でありがたい方法を僕ひとりで独占してはもったいないと思ったので、
ご紹介しました。(ケンさんのネタをいただき!!)


それでは、また。



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

表示された数値のみ合計する方法(Excel2003以降)

2010-04-02 12:42:14 | エクセル
お久しぶりです。
いよいよ4月ですね。でも、信州はまだ寒いですよ~

さて、今日もまた生徒さんからの質問を取り上げます。

「先生、注文数の合計を出したいのですが・・・」

「なるほど、合計といったら、オートSUMだよね。」

生徒さんの作った表は、以下のとおりです。
B列24行目に合計値を出すものとします。






「それでは、B列24行目を選択して、次のように数式を入力しましょう。はい、完成!」





「先生、実は、訳ありで・・・」

「ん? どうしたんだい?」

「例えば、1月の行を非表示にしたら、その注文数は合計に入れたくないのです。」

「ということは、非表示にした数値は、合計しないで、表示されている数値だけ合計したい、ということ?」

「そうなんです。」

ちなみに、1月から3月目までの行を非表示にしてみます。
3行目から11行目までを選択して、右クリックします。
以下のようなメニューが出たら、『表示しない』をクリックします。」







すると、4月から6月までのデータだけが表示されます。
しかし、B列24行目の合計値は、非表示にしても変わりません。
この値を、表示された数値の合計になるようにしたいのです。







「こういう場合は、別の関数を使うといいですよ。」

「そんな便利な関数があるのですか?」

「そう、あるんです! その名も、SUBTOTAL関数です~~」

B列24行目に以下のように関数を入力してください。
ポイントは、第1引数に、109 と指定することですよ。

ほら、表示された数値の合計が出たでしょう」





「ほんとうだ。でも、非表示の行を再表示したら、答えはどうなりますか?」

「確認してみましょう。再表示しますよ。どうぞ!」





「あっ、合計値が変わった!」

「うまくいきましたね。」

「やればできるんですね。ありがとうございました。」

「どういたしまして。」


ちなみに、第1引数は、集計方法の指定です。

リストの集計に使用する関数を、
1 ~ 11 (非表示の値も含める) または 101 ~111 (非表示の値を無視する) の番号で指定します。

1 101 AVERAGE
2 102 COUNT
3 103 COUNTA
4 104 MAX
5 105 MIN
6 106 PRODUCT
7 107 STDEV
8 108 STDEVP
9 109 SUM
10 110 VAR
11 111 VARP


ポイントは、100番台ですよ。

それでは、また。


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

【おすすめ】

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