全ては時の中に…

システム開発全般の技術や開発に役立つツール、プログラミングのサンプルを紹介しています。

VBA

【Excel VBA】指定した文字コードでファイルに出力する

Excel VBAで文字コードを指定する方法について説明します。
文字コードを指定してファイルを保存したい場合に利用して下さい。

文字コードを指定する場合、通常のファイル操作ではなく、ADODB.Streamを利用します。
ADODB.Streamは、Charsetというプロパティがあります。
このプロパティに文字コードを設定することで、指定した文字コードのファイルを作成することができます。

以下、サンプル。
続きを読む

【Excel VBA】Printステートメントに改行コードを含めない方法

以前の記事「【Excel VBA】テキストファイルにデータを保存する」に関連した内容です。

通常、Printステートメントを使ってデータを出力した場合、改行コードが含まれます。
この改行コードを含めないようにする方法について説明します。

Printステートメントで改行コードを含めないようにするには、Printステートメントの最後に「;(セミコロン)」を入力するだけです。
こうすることで、改行コードを含めずにデータを出力します。

この方法は、Linux等のようにWindowsとは異なる改行コードを扱うファイルシステムとファイル交換する場合に有効です。
WindowsとLinuxの改行コードは、以下の通りです。
 ・Windows … CRLF(0x0D0A)
 ・Linux  … LF (0x0A)

以下、サンプル。
続きを読む

【Excel VBA】テキストファイルにデータを保存する

Excel VBAを使ってテキストファイルにデータを保存する方法について説明します。
ファイルにデータを保存する場合の手順は、
 1.ファイルを開く
 2.データを書き込む
 3.ファイルを閉じる
となります。

VBAの場合、ファイル番号を利用してファイルを操作します。
ファイル番号は、ファイルを開く際に指定した番号となります。

以下、サンプル。
続きを読む

【Excel VBA】ファイルの保存ダイアログを表示する

以前の記事「【Excel VBA】ファイルダイアログを利用する」に関連した内容です。

今回は、ファイルの保存ダイアログを表示する方法について説明します。
ファイルを開くダイアログの表示方法と同じく、Office.FileDialogオブジェクトを利用します。
ファイルの保存ダイアログを表示する場合、msoFileDialogSaveAsを指定します。

ファイルの保存ダイアログは、保存場所を指定する場合に利用します。
実際の保存処理は別に実装する必要があるという点に注意して下さい。

以下、サンプル。
続きを読む

【Excel VBA】フォルダダイアログを利用する(其の弐)

以前の記事「【Excel VBA】フォルダダイアログを利用する」に関連した内容です。

前回は、ファイルダイアログに似たダイアログを表示する方法を説明しました。
今回は、フォルダ選択のみに特化したダイアログを表示する方法について説明します。
前回までと異なり、Shellオブジェクトを利用してダイアログを表示します。
Shellオブジェクトには、BrowseForFolderメソッドがあり、このメソッドを利用するとフォルダダイアログを表示できます。

以下、サンプル。
続きを読む

【Excel VBA】フォルダダイアログを利用する

以前の記事「【Excel VBA】ファイルダイアログを利用する」に関連した内容です。

Excel VBAでフォルダダイアログを利用する方法について説明します。
ダイアログは、ファイルダイアログと同様にOffice.FileDialogオブジェクトを利用します。
フォルダの選択用ダイアログを表示する場合、msoFileDialogFolderPickerを指定します。

以下、サンプル。
続きを読む

【Excel VBA】ファイルを開くダイアログを利用する

Excel VBAでファイルダイアログを利用してファイルを開く方法について説明します。
ダイアログを開くには、Office.FileDialogオブジェクトを利用します。
このオブジェクトは、表示するダイアログの種類を指定することができます。
(Application.FileDialog()を指定することで、ダイアログの種別を指定できます)
ファイルを開くダイアログを表示する場合、msoFileDialogFilePickerを指定します。

以下、サンプル。
続きを読む

【Excel VBA】2つの日付から日数を算出する

2つの時点の日付から日数を求めたいことがあります。
Excel VBAで、日数を算出する方法について説明します。

VBAの場合、Date型に対して加算や減算の演算子を使うことができます。

以下、サンプル。
続きを読む

【Excel VBA】WMIを利用してプリンタの一覧を取得する

記事「【Excel VBA】プリンタの一覧を取得する」のコメントにWMIを利用した方法もあるという情報を提供して頂きましたので、その方法を紹介します。
WMIの利用については、記事「【VB.NET】WMIを利用する(其の壱)」で紹介しているスクリプトで操作する方法と基本的に同じです。

以下、サンプル。
続きを読む

【Excel VBA】プリンタの一覧を取得する

VB 6.0には、プリンタの一覧を取得するためのPrintersコレクションがあります。
これをVBAで利用する方法について説明します。

Printersコレクションは、全てのOffice製品で利用できるわけではありません。
Accessでは、このコレクションを利用することができますが、ExcelやWordでは、このコレクションを利用することができません。
そのため、ExcelやWordから利用するには、Accessのライブラリを参照する必要があります。

以下、サンプル。
続きを読む

【Excel VBA】ワークシート関数を利用する

Excelには、セルに入力する関数(SumやAverage等)が用意されています。これらの関数(ワークシート関数)をVBAで利用する方法について説明します。
ワークシート関数は、WorksheetFunctionオブジェクトのプロパティとして用意されています。
そのため、以下のような構文で利用することになります。
 WorksheetFunction.関数名(引数1, 引数2 ...)

処理の対象となるセル数によって、効果は異なりますが、ワークシート関数を利用することで、パフォーマンスの改善を図ることができます。
(対象となるセル数が多くなればなるほど、効果を発揮します)

以下、サンプルです。
続きを読む

【Excel VBA】ADOを使ってCSVファイルを読み込む

Excel VBAを利用してCSVファイルを読み込む場合、以下の方法があります。
 1.テキストファイルとして読み込む。
 2.データベースに見立てて読み込む。

1は、テキストファイルと同じ方法で読み込みます。
その場合、データの検索や整列、集計等は、VBAで処理を記述する必要があります。

2は、データベースに見立ててデータを操作することができます。
そのため、データの検索や整列、集計等は、SQLを使えばできます。
そのため、1よりも、2の方が楽にデータを扱うことができます。
(複雑な集計は、SQLで行うよりもVBAで記述した方が楽な場合もあります)

CSVファイルをデータベースに見立てて読み込む方法は、以下の通りです。
続きを読む

【Excel VBA】パフォーマンスを向上させる(其の弐)

Excel VBAのパフォーマンスを向上させるためには、いくつかの方法があります。
以前の記事「【Excel】VBAのパフォーマンスを向上する」では、画面の描画を停止することで、パフォーマンスを向上する手段について説明しました。
今回は、シートオブジェクト型の変数を利用してパフォーマンスを向上する方法を説明します。
この方法は、セルやシートのプロパティを多数利用する場合に有効な手段です。

以下、サンプルです。
続きを読む

【Excel VBA】目次シートを作成する

複数のシートを持つExcelファイルは、シートへの移動が面倒です。
(シートをスクロールさせて移動する場合 等)
このような場合に各シートへのリンクを持つ目次シートを作成しておくと、各シートへの移動が簡単になります。

というわけで、目次シートを作成するマクロを作成してみた。
こちら(ContentsSheets.zip)からダウロードできます。

このマクロを個人用マクロブックに登録しておけば、どのExcelファイルであっても目次シートを作成できます。
以下のような目次シートが作成できます。
目次シート







以下、個人用マクロブックに登録する方法。
続きを読む

【Access VBA】ファイルを開いた時に実行するVBA(マクロ)の関数を作成する

Accessにもファイルを開いた時に実行するマクロが用意されている。
ファイルを開いた時に実行するには、マクロとプロシージャを利用する。

以下、サンプル。

《事前準備》
1.モジュールを作成する。
 1)データベースウィンドウで[モジュール]を選択する。
 2)データベースウィンドウのメニューバーの[新規作成]を選択する。
2.作成した標準モジュールに「AutoExec」という名前の関数を作成する。

《コード》
Function AutoExec() As Integer
 MsgBox "ファイルを開きました", vbOKOnly, "通知"
 AutoExec = 1
End Function

※AutoExec関数は、Functionステートメントでなければならない。
 (Subステートメントは、指定できない)

続きを読む
Recent Comments
Recent TrackBacks
Profile

ふりっつ

システムエンジニア
取得資格:
 ソフトウェア開発技術者
 MCP(70-290)
メールマガジン:
 【出張版】全ては時の中に…

メールマガジン
メルマガ登録・解除
【出張版】全ては時の中に…
 
 powered by メルマガスタンドmelma! トップページへ
ブログランキング
アクセス解析出会い




にほんブログ村 IT技術ブログへ

にほんブログ村 IT技術ブログ プログラム・プログラマへ

Amazon
スポンサー
HonyaClub.com

PCDEPOT WEB本店/OZZIO

FUJIFILMMALL(フジフイルムモール)

IT 関連資格ならクラムメディア問題集

  • ライブドアブログ