12月 27

こんにちは。Nakaiです。

いよいよ2011年最後のBlogになってしまいました。

このところパソコンスクールISA船橋FACE校では、WebやEXCEL-VBAの
受講生が増えていらっしゃいます。

ですので、来年はもう少しWEBやVBAの記事を書いていきますね。

さて、今日はEXCELの財務関数のご紹介です。

金利が安いので住宅を購入しようかなぁ~などとお考えの方もいらっしゃると思います。

ニュースなどを見ていると、当面金利は上昇しないのかな?

変動がいいのか、固定がいいのか、、いろいろ悩みますね(笑)

金利によって返済額が全然違ってしまいますから、金利の比較も重要です!

そこで、EXCELの財務関数を使って簡単にシュミレーションしてみましょう。

blog.jpg

このように、PMT関数を利用して、「借入額」「利率」「返済期間」を指定すると

 毎月の返済金額が計算されます。

毎月の返済額を出したいので、年利を月換算にするために、12で割って、

返済年数は月換算にするために12を掛けています。

このような表を作成しておけば、シュミレーションは簡単ですね!

ただし、金利は固定の場合になりますのでご了承ください。

1年間どうもありがとうございました。

来年もどうぞよろしくお願いいたします。

どうぞよいお年をお迎えください。

パソコンスクールISA船橋FACE校 Nakai

Check
12月 14

こんにちは。Nakaiです。

船橋駅南口のイルミネーションがきれいですね!

JR線の乗降客数では千葉県でNo.1の船橋駅ですので、

たくさんの方がイルミネーションに癒されていることでしょう(笑)

さて、今日はアクセス2010の話題です。

ExcelやWordは2007から統一したデザインを整えるための

「テーマ」

という機能が追加されました。

しかし、Access2007では

「テーマ」

はありませんでしたね。

「オートフォーマット」

を使ってデザインを整えていました。

Access2010バージョンに、ようやく

「テーマ」

が追加されました!

フォームやレポートを統一したデザインにしたいとき、

WordやExcel文書とデザインと統一したいとき、

是非、ご利用くださいね。

1.JPG

簡単にデザインを整えられるので便利です。

パソコンスクールISA船橋FACE校 Nakai

Check
12月 02

こんにちは。Nakaiです。

さすがに12月。

雪が降りそうなくらい寒いですね。

さて、今回はワードの知っているようで知らない機能?

文字種の変換です。

たとえば、このようにすべてひらがなで入力してしまったデータがあります。

 1.jpg

カタカナにまとめて変換します。

ホームタブの文字種の変換▼ボタンをクリックします

2.jpg

カタカナを選択します。

3.jpg

まとめてカタカナに変換されます。

英単語の先頭の1文字を大文字に変換!

というのもできますね。

まとめて変換したいときには、ご利用ください。

パソコンスクールISA 船橋FACE校 Nakai

Check
11月 25

こんにちは。Nakaiです。

最近「Microsoft Access」を受講中の方がとても多い

パソコンスクールISA船橋FACE校です。

今日は、無重複クエリで重複データの件数を取得する方法をご紹介します。

無重複クエリはご存知ですか?

特定のフィールドに対して重なったデータを画面表示できるクエリです。

例えば、氏名フィールドと住所フィールドをセットにして、重なったデータを調べれば

二重登録のミスを確認できますので、ご利用いただいている方も多いと思います。

今日は、こちらの不動産物件テーブルで

b4.png

最寄駅に何件の物件が存在するかを、無重複クエリを利用して調べてみましょう。

では、作成タブからクエリウィザードを選択します。

b1.png

無重複クエリウィザードを選択します。

ウィザードは質問に答えていくだけですので簡単ですね。

b2.png

質問に答えていくと、クエリの結果に対して表示するフィールドを選択する画面になります。

ここで、何もフィールドを選択しないで、次に進んでクエリを作成していきます。

クエリを実行すると

b3.png

このように、重複データの件数を表示することができます。

便利ですので、是非ご利用ください。

パソコンスクールISA船橋FACE校 Nakai

Check
10月 05

こんにちは。Nakaiです。

いよいよ秋も深まってきましたね。

北海道で初雪も観測されたとか。

このところ、過ごしやすい「春」と「秋」の季節が短いなぁ〜と感じるのは
私だけでしょうか。

さて、このところ船橋FACE校では、オフィス2010を習っていらっしゃる方が増えています。

まだまだ企業では2010に移行しているところは少ないようですが、新しいPCを購入すると
2010がインストールされていますからね。

今まで2007を使っていたという方は、きっと戸惑うのがファイルの操作や印刷ではないでしょうか?

オフィスボタンがない?

blog1.png

オフィス2010では、オフィスボタンの代わりに、

「ファイルタブ」

が表示されています。

クリックしてみましょう。

blog2.jpg

こちらは、印刷をクリックした状態の画面ですが、ファイルの保存や新規作成も含まれていますね。

印刷をする前に、現在設定されている用紙にどのように印刷されるかを確認できる

「印刷プレビュー」

が自動的に表示されますので、便利ですね。

まだまだ新機能がありますので、またご紹介していきます。

パソコンスクールISA船橋FACE校 Nakai

Check
6月 14

こんにちは。

今日はVBAのお話です。

パソコン教室で受講中の生徒さんより

「InputBoxが表示されたときに
あからじめ入力モードをオフにしておくことってできないですか?」

というご質問を受けました。

残念ながらInputBoxが本来持っている引数では
IMEを制御する引数はありません。

「出来そう」とは思いながらも
その場ではすぐには思いつきませんでした(^-^;)

インストラクターという性分か
どうしてもやりたくなってしまったので
色々とVBAのヘルプ等で調べてみました。

結果的に出来ました。

まずは正解から。
———————

Sub Sample()
    Dim buf As String
   
    If IMEStatus <> vbIMEModeOff Then
        SendKeys “{kanji}”
    End If
   
    buf = InputBox(”何か文字を入れてください”)
   
    MsgBox buf

End Sub
—————————

上記で、例えばあらかじめ入力モードを「ひらがな」にしている状態で実行すると
InputBoxが表示されるときには入力モードがオフになります。

InputBoxに入力する値が半角の英数を入力することが決まっているときは
いちいち入力モードを切り替えるのは面倒臭いです。

そんなときは上記のVBAで解決です。

ポイントはこの部分。

    If IMEStatus <> vbIMEModeOff Then
        SendKeys “{kanji}”
    End If

少し解説をしていきます。

まず全体的な流れですが
①現在のIME入力モードがオフでなければ
(つまりひらがな入力等他の入力モードになっていたら)
②IME入力モードをオフにして
③InputBoxを表示する

という流れです。

細かく見ていきましょう。

◆IMEStatusという部分
IMEStatus関数というものを利用しており
これはヘルプにも掲載されていますがIME の現在の状態を返すものです。

◆vbIMEModeOffという部分
IMEStatus関数の戻り値です。
他にも様々なものがありますが、今回の目的は入力モードをオフになっているかどうかを
判別したいので、IME がオフの状態を表す「vbIMEModeOff」を利用しています。

◆ SendKeys “{kanji}”という部分

SendKeysステートメントを利用しています。
SendKeysは、通常キーボード等でキーが押されたときの信号をVBA上で擬似的に発生させるステートメントです。
とまぁちょっと難しいので割愛しますが
SendKeys “{kanji}”と指定することではIMEをオン/オフさせることができます。

入力モードがもともとオンになっている状態で利用すると、入力モードはオフになり
入力モードがもともとオフになっている状態で利用すると、入力モードはオンになる特徴があります。

実は “{kanji}”という指定方法はヘルプに載っていませんでした・・・
なぜ載っていないんだーというところですがその辺りは置いておきます(^-^;)

ですので、あらかじめIfステートメントを利用して、IMEStatusを利用し
現在のIMEの状態を把握した上で
入力モードがオンになっている場合には
SendKeys “{kanji}”で入力モードをオフにするという処理を働かせています。

VBA受講中の生徒さん、ぜひお試しください。

またVBAって何?という方
いつでもご質問を受けますのでお気軽に船橋校のインストラクターに
来てくださいね☆

パソコンスクールISA 船橋校 並木

Check
5月 20

こんにちは。

今日はExcelVBAのお話です。

皆さん、例えば会社の先輩に
「このフォルダの中のPDFファイル、全部印刷かけておいて」
なんていわれることないですか??

・・・そうそうないですよね(笑)

今回実は私自身が
「フォルダ内のPDFファイルを一括で印刷する」 という作業が
どうしても必要になってしまったのです(^-^;)

あるフォルダの中にたくさんのPDFファイルが存在します。
これを印刷する為には、そのファイルを一つずつ開いて
印刷を掛けて・・・の繰り返しになります。

ファイルが5個や10個くらいなら、多少面倒でも
やれないことはないですよね。

でもそのファイルの数が30個や、はたまた100個だったら・・・

一日終わってしまいます・・・。

そこで、この開いて印刷するという「繰り返し」部分を
VBAでどうにかならないかということで
色々調べた上で、実行できたものが下記となります。

何を言っているのかわからない部分も多いと思いますが
わかる必要は特にありません(笑)

もし同じ状況になったら、ここにあるコードを
コピーペーストしてお使いください♪

今回は、マシンのデスクトップに【問題集】というフォルダがあり
そのフォルダ内のPDFファイルを印刷するという前提で作成されていますので
ご自身で利用するときには、フォルダの場所を変えてあげれば使えます♪

—————————–

Sub フォルダ内PDFファイル一括印刷()

Dim strPath As String
Dim strFileName As String
Dim pdffiles() As String
Dim intcount As Integer

‘変数strPathに、フォルダのパスを格納
strPath = “C:\Documents and Settings\isa\デスクトップ\問題集\”

‘変数strFileNameに、フォルダ内のファイル名を格納
strFileName = Dir(strPath)

‘フォルダ内のファイルがなくなるまでLoop
Do Until Len(strFileName) = 0
   
    ‘ファイル名の右から3文字が”pdf”かどうか判別   
 If Right(strFileName, 3) = “pdf” Then
       
        ‘pdffilesにその時のファイル名を取得し配列として格納
        ReDim Preserve pdffiles(intcount)
        pdffiles(intcount) = strFileName
       
        ‘pdffiles(0)・pdffiles(1)というようにファイルの数だけ
       ‘配列のインデックス番号が増えて管理できるようにするため+1する
        intcount = intcount + 1
       
    End If
   
    ‘一度Dir関数で取得されたファイルは取得されないようにする処理
    strFileName = Dir()

Loop

‘——————————————
‘ここまでの処理でpdffilesという配列には
‘ファイルの数だけ配列が出来上がっている状態
‘——————————————

‘——————————————
‘ここから下はpdffilesという配列に入っている
‘ファイルを順番に印刷をかける処理
‘——————————————

Dim AcroExchApp As Object
Dim AcroExchPDDoc As Object
Dim AcroExchAvDoc As Object
Dim buf As Long

Set AcroExchApp = CreateObject(”AcroExch.APP”)
Set AcroExchPDDoc = CreateObject(”AcroExch.PDDoc”)
Set AcroExchAvDoc = CreateObject(”AcroExch.AVDoc”)

buf = AcroExchApp.Show

Dim i As Integer

    For i = 0 To UBound(pdffiles)
        buf = AcroExchAvDoc.Open(strPath & pdffiles(i), “”)
        Set AcroExchPDDoc = AcroExchAvDoc.GetPDDoc()

        ‘開いたPDFファイルのページ数をnumPageに格納
        Dim numPage As Long
            numPage = AcroExchPDDoc.GetNumPages
           
            ‘PrintPagesで印刷をかける
            ‘プリンタはデフォルトのプリンタで、印刷のダイアログボックスは
            ‘表示されない
            ‘以下のステートメントは開いたPDFファイルの
            ‘最初のページから最後のページまでを印刷をかけるもの
            ‘また戻り値は「-1」ならうまく機能している
            ‘「-1」以外はPDFファイルが開いていないときに返される戻り値

            buf = AcroExchAvDoc.PrintPages(0, numPage - 1, 2, 0, 0)
       
            ‘一行上のステートメントで「-1」以外の戻り値の場合は
            ‘ファイルが開かれていないときにおきるので
            ‘変数bufが「-1」以外だったら印刷失敗というメッセージを出すようにしている

            If buf <> -1 Then
                MsgBox (”印刷に失敗しました。ファイルが開かれていない可能性があります”)
            Exit Sub
       
        End If
       
        buf = AcroExchAvDoc.Close(False)
    Next

buf = AcroExchApp.Exit

Set AcroExchApp = Nothing
Set AcroExchPDDoc = Nothing
Set AcroExchAvDoc = Nothing

End Sub
—————————————————-

以上です。

長くなってしまってすみません・・・。

一応動作環境は
WindowsXP ServicePack3
Excel2003
Adobe Acrobat7.0 Professional

です。

※Adobe Acrobat7.0 Professionalがない環境では
うまく動作しない可能性があります。
あらかじめご了承下さい。
※また、この記事からコピーをしてVBEのコードとして貼り付けを行うと
コメントにしている部分(緑色の文字色になっているところ)が
うまく貼り付けできない現象が確認されています。
お手数ですが、お試しになる際には、コピーペーストをした後に
ご自身でコメントアウト処理をお願いいたします。

今回はこんなこともExcelVBAではできるんだ!

ということがお分かりいただければ幸いです★

それでは、また♪

パソコンスクールISA船橋校 並木

Check
4月 20

こんにちは。

先日はマクロとVBAについて少しだけお話をしました。

今回は実際にVBAを体験してもらうために
メッセージボックスを表示する方法をご紹介します。

まずExcelを起動します。

Excelの起動ができたら、キーボードで
Altキー+F11を押してください。

すると、「Microsoft Visual Basic」というアプリケーションが
表示されたと思います。

このアプリケーションのことを「VBE(Visual Basic Editor)」と呼びます。

次に、VBEの【挿入】メニュー>【標準モジュール】を選択します。
標準モジュールの挿入

すると、コードを入力するウィンドウが表示されると思います。

マクロを自分でプログラミングをするときは
今挿入した標準モジュールのコードウィンドウに
コードを入力していきます。

では、今表示されているコードウィンドウに
以下のように入力してみましょう!

*****************************

Sub メッセージボックスの表示()

    MsgBox “初めてのVBA”
   
End Sub

*****************************

上記のコードのSub ~ End Sub までが
マクロの本体です。
これを【プロシージャ】と呼びますので覚えておきましょう!

では、実際に上記のコードを入力ができたら
実行して結果を確認してみましょう。

作成したプロシージャ内にカーソルを置いて
キーボードのF5で実行することができます。

メッセージボックス

いかがでしょうか?
上図のようにメッセージボックスが表示されたでしょうか?

実はこのメッセージボックス、Excelのマクロ機能では
作成することができません。

VBAを利用することで表現できるものの一つです。

このメッセージボックスは、今回はまずやってみましょう、ということで
意味のないメッセージを表示してみましたが
実際には

長い処理が終了した後に表示をさせて
ユーザーに処理が完了したことを知らせる目的

処理を実行する前に本当に処理を実行してよいかの注意喚起

等の目的で利用されることが多いです。

本当は条件分岐などの際にも利用されるものなのですが
それはまだ難しいのでここではお話は控えさせていただきます。

さて、今回はVBAを体験するということで
メッセージボックスを表示させてみましたが
いかがでしたでしょうか。

VBAは他にもいろいろなことができます。

今後は、VBAを使った色々なテクニックを
ご紹介していくことができたら、と思っています。

VBAに興味のある方は、ぜひぜひインストラクターにご相談くださいね♪

こちらにVBAコースの一覧も掲載されているので
あわせてご確認ください。
http://www.isa-school.net/office/kamoku/vba.html

パソコンスクールISA船橋校 並木

Check
4月 17

こんにちは。

今日はマクロやVBAの話を少ししてみたいと思います。

突然ですが
Excelのマクロという機能はご存知でしょうか。

普段マクロが組まれているファイルを利用する方も
いらっしゃると思います。

マクロとは、簡単に言うと
Excelの操作を自動化する仕組みのことを言います。

よくお仕事で使われているのはExcelを利用したマクロです。

さて、この記事のタイトルである「マクロ」と「VBA」ですが
どう違うのでしょうか。

一般的には同じような意味で利用されることが多いですが
厳密に言えば少し違います。

マクロは、「Excel等のアプリケーションを自動化する機能のこと」

VBAは、「マクロを作成するときに利用されるプログラミング言語」

と考えてください。

マクロは、このVBAというプログラミング言語を知らなくても
Excelを操作することで作成することができます。
つまりプログラミング言語であるVBAを知らなくても
操作を自動化する仕組みを作ることができるわけです。

ただし、簡単なだけにいくつかデメリットもあります。

例えばマクロで作成したものはわかりやすく言うと
下記のようなデメリットがあります。

・記録の際に行った余計な操作も全て記録されてしまう
・マクロでは高度な連続処理ができない
・マクロでは実現できない処理がある
・余計なコードが組まれることがあるため実行速度が遅くなることがある

 などです。

特に、マクロで作成したものは
自動的にVBAでのコードが組まれているわけなのですが
この自動的に組まれたコードに余計なコードがたくさん入ってしまうことがあります。

これが原因で処理速度が遅くなるということも
多々あります。

ですので、今は業務効率を上げるためには
マクロだけではなくVBAも理解してご自身でコードを記述し
作れるようになることがBetterということになります。

パソコンスクールISA船橋校では
このVBAの授業が現在とても人気です。

・今までExcelを使っていつも同じ作業をしていて時間がかかる方
・マクロは使っているがどうも使い勝手が悪いと感じている方

VBAを学習すればそういった悩みも
解決できるかもしれません!!

現在Office科目を学習されている受講生の皆さんも
更なるスキルアップへ向けてVBAにチャレンジすると
良いですね♪

今後は少しづつVBAのテクニックなども
ご紹介していけたらと思っています。

お楽しみに♪

パソコンスクールISA 船橋校 並木

Check