Vol.776 6.Sep.2019

チェックディスク(chkdsk) コンパクトUSBカードリーダー ExcelのVBA(1)〜準備と記録マクロ

C チェックディスク (chkdsk)

by fjk

 新規に購入したSDカードにデーターをコピーしていたところ、途中で「エラーチェックが必要」とエラーが発生しコピーが中断された。そこで、フォーマットを実行してみたが、症状は同じ。こんな時には「chkdsk」が有効と思われる。windows8.1まではscandiskが使われていたが、win10などのNT系ではchkdskになっている。
 Windows8以降のエラーチェックでは、チェックボックスもなく、エラーがあれば修正を試みるといった感じで、オプションの選択はできない。オプションを指定して実行するには、コマンドプロンプトなどから「chkdsk」を実行するしかない。chkdskはオプションを指定せずに実行すると、「読み取り専用モード」となり、ファイルシステムのエラーはチェックのみで、自動的に修正されない。
 なお、chkdskはWindowsのシステムに変更を加える操作を行うので、「管理者」としてコマンドを実行しなければならない。

  1. chkdskの起動(windows10の場合)
    @ コマンドプロンプトから
    [メニュー]「windowsシステムツール」「コマンドプロンプト」を右クリックし、「その他」「管理者として実行」をクリック」
    A パワーシェル(PowerShell)から
    スタートメニュー上で右クリックし、「windows powershell(管理者)(A)」をクリック。
    B コマンドを入力
    chkdsk c: /f        ・・・Cドライブの場合は再起動後の実行となる。
     chkdskはシステムの変更を行うので、スキャン後に以下のトラブルが発生する可能性があるので、データのバックアップが可能なら、バックアップを事前に行っておくこと。
    @ windowsが起動できなくなる(OSのシステムエラー)
    A データやファイルが消失したりアクセス出来なくなる
    B 読み取りに異常に時間がかかったり、保存しようとするとエラーが出る。
  2. chkdskの修復オプション
    /f ファイルシステムを修復する。
    ソフトウェア的な修復で、ハードディスクのセクタチェックは行わない。ファイルシステムの修復が目的である場合に使用する。
    /r 不良セクタを検出し、不良クラスタから読み出し可能なデータは回収する。
    領域内の全セクタをチェックするため、非常に時間がかかる。読めないデータはそのまま失われるので注意(/fオプションも包括)。
    /b ファイルシステムに登録されている不良クラスタをチェックし直す。
    不良セクタのあるハードディスクから、新しいハードディスクへパーティション丸ごと移した場合に有効(/rおよび/fオプションも包括)。 ハードディスクに存在していた不良セクタが正常なセクタに置き換わっているのに、ファイルシステム上の不良セクタがそのまま残っているのを修正したい場合に使用。
    /t ボリュームのマウントを強制解除する(NTFS)
    検査対象のドライブが使用中の場合、マウントを解除する必要がある。


U コンパクトUSBカードリーダー

by fjk

 ナビデータや動画データなど大きな容量のデータコピーにUSB2.0カードリーダーを使うと結構時間がかかります。また、持ち運びを考慮すると、スマホやタブレットに繋ぐには小さい方がと思い、マイクロSDカードをUSB3.0で高速読み書きできるコンパクトなカードリーダーとしてMR3-C008(USB3.0、Type-A、パソコン接続用)とMR3C-C012(USB3.1、type-C、スマホ接続用)を入手した。SDカードも使え、type-Aとtype-Cの両方が使えるCRW-DC3D71(Digio)ものもあるが、ちょっと大きくなる。USB3.0(5Gbps)はUSB2.0(480Mbps)の10倍の速度(ナビデータは小サイズのファイルが多いためか5倍程度)でコピーできるのはやはり便利。
コンパクトカードリーダ チョット大きいが・・


V ExcelのVBA (1) 〜準備と記録マクロ

by fjk

 Excel(2019)で行う処理を自動的に実行する方法として、「マクロ」と「VBA(Visual Basic Apprication)」がある。基本的にはマクロもVBAで記述されるが、手動で行った操作を記録することができ、その記録した操作を実行することができる(記録マクロ)。

  1. マクロ・VBAを使うための準備
    Excelの初期時にはVBA開発環境が選べない状態になっているので、利用できるようにする。
    @[ファイル][オプション][リボンのユーザー設定]を選択
    A[開発]タブをチェック
    B [OK]をクリックすると、開発タブが追加される。
    「開発」タブの設定 「開発」タブが表示された
  2. ワークシート関数とVBA関数
     エクセルで使用する関数には「ワークシート関数」と「VBA関数」がある。ワークシート関数はワークシートのセル内に入力して使用できる関数で、VBA関数はマクロ内で使用できる関数で、その関数名や動作が異なる物が多い。例えば乱数を発生するワークシート関数はRANDであり、VBA関数はRndで、どちらも0.0から1.0未満の数値を返す関数である。
     VBAでワークシート関数を利用するには、WorksheetFunctionオブジェクトを使うと実行できるが、全てのワークシート関数は使えない。詳細はここでは省略するが、2種類の関数があることを知っておく必要がある。

    ※ ワークシート関数はマッキントッシュ用の表計算ソフト用に開発され、それがWindowsに移植されたもので、VBA関数はQuick Basicから発展したMicrosoft Visual Basicを元にして、Excelに採用されたもので、2つの関数は元々生まれが異なる関数です。

    「マクロの記録」 マクロの実行
  3. マクロの記録と(記録マクロの)実行
    @[開発]タブ、[マクロの記録]をクリックすると、「マクロ名」と「マクロの保存先」を聞いてくるので、入力し、[OK]をクリックすると、以降の手順がマクロとして記録される。
    A 記録を終了するには、[記録終了]をクリックする。
    B [マクロ]タブをクリックし、さらに実行したいマクロを選び、[実行]をクリックする

  4. マクロの保存と読み出し
     マクロを含むファイルは「マクロ有効ブック」(拡張子がxlsm)として保存する必要がある。
    @ [ファイルタブ]、[エクスポート]をクリック。
    A 「ファイルの種類の変更」で「マクロ有効ブック」をクリック。
    B 「名前を付けて保存」をクリックし、ファイル名等を入力後、[保存]をクリック。
     マクロを含むブックを開く場合、ウィルス対策のためのセキュリティ機能が用意されているので、「マクロを有効にする」を選ぶ必要がある。
    @ ファイルを選ぶと、メッセージバーにセキュリティの警告が出るので、「コンテンツの有効化」をクリックする。
    A マクロが有効になり、メッセージバーが閉じられる。
    B ブックを開く時にマクロを無効にするには、[開発][マクロのセキュリティ][マクロの設定]で「警告を表示して全てのマクロを無効にする」のチェックをONにする。
    マクロ付きファイルの保存 マクロ付きファイルの読み込み
  5. VBEによるマクロの修正・デバッグ
     VBEを使うことで、マクロの修正やデバッグなどが出来る。
    @VBEの起動するには、[開発]タブで[マクロ]をクリックする。
    A マクロの一覧画面で編集したいマクロを選び[編集]をクリックする。
    B VBEでマクロを実行するには、[Sub/ユーザーフォームの実行](F5)をクリックする。
    C マクロを1ステップずつ実行するには[F8]を押す。
    D Debug.Print <変数など> を使うと画面にメッセージを出力できる。
    E ブレークポイントを設定するには、処理を止めたい行の一番左をクリックする。ブレークポイントで停止後、イミディエイトウィンドウを使って値の確認等が出来る。
    VBE編集画面 デバッグ画面からの実行


チェックディスク(chkdsk) コンパクトUSBカードリーダー ExcelのVBA(1)〜準備と記録マクロ