投稿日時:

Access 2003 初級 一日速習研修


アクセスの基礎はこれでバッチリ!簡単なデータベース作成を通じて、アクセスの基本操作からリレーションシップの基礎までを学ぶ講座です。
アクセス初心者の方にオススメです!
本コースではAccess2003を利用した講習を行います。

Access 2010 初級 一日速習研修


アクセスの基礎はこれでバッチリ!簡単なデータベース作成を通じて、アクセスの基本操作からリレーションシップの基礎までを学ぶ講座です。
本コースではAccess2010を利用した講習を行います。

Access 2010 応用 一日速習研修


クエリ・リレーションシップの応用からマクロの基礎までをしっかり学ぶ講座です。実務でアクセスを利用する方は、ここまで学ぶと業務への活用の幅が大幅に広がります!
本コースではAccess2010を利用した講習を行います。

Ac/Ex VBA文法初級 一日速習研修


ExcelVBA(=Excelマクロ)・AccessVBAを用いた自動化・省力化を行う際に必須である、VBAプログラミングにおける基本文法を集中的に学習する講座です。プログラミング技術習得の最短ステップは「既存のソースコードを理解し、改良しながら覚える」ことです。VBAの基本文法をしっかり理解することで、ソースコードの理解力が飛躍的に高まり、効率的な作成が可能となります。アクセスやエクセルでの作業の自動化・省力化を行うための最初のステップとして、オススメの研修です!

Ac/Ex VBA文法応用 一日速習研修


実践的なVBAプログラミングにおいて必須である「型変換」「クラス」「エラー処理」「テキストファイルの読み書き」等の文法や技法を効率的に習得するための講座です。実際のエクセル/アクセスにおけるVBAプログラミングにおいてはこれらの文法を理解していることが大前提となります。VBAの初歩的な文法を理解した方が、本格的なVBAプログラミングに入る前に合わせて習得する必要がある項目を完全に網羅していますので、一歩先を行くVBAプログラミングの技法をマスターしたい方におすすめです。

投稿日時:

AccessとVBAに関し「クエリをExcelにエクスポートする際に、そのExcelファイルにパスワードは設定可能ですか?」という質問がありました。

クエリをExcelにエクスポートするだけなら、DoCmdのOutputToメソッドで簡単に可能です。
しかし、このメソッドにはパスワードを設定する機能はありません。

従って、WorkbookクラスのSaveAsメソッドでパスワードかけて保存し直すのがよいと思います。

なお、Access内のVBAとExcel内のVBAでは生成済みオブジェクトが異なります。
Access内でExcel関連のクラスを使用したい場合は、参照設定「Microsoft Excel XX.0 Object Library」が必要です。
XXにはバージョンが入ります。2003=11.0、2007=12.0、2010=14.0です。(13.0はMac版)

サンプルソースコードは以下の通りです。

‘ファイルのパス
Dim filePath As String
filePath = CurrentProject.Path & “¥export.xls”

‘Query01をExcelファイルにエクスポート
DoCmd.OutputTo acOutputQuery, “Query01″, acFormatXLS, filePath

‘ExcelのApplicationクラス
Dim excelApplication As Excel.Application
Set excelApplication = New Excel.Application

‘エクスポートしたファイルを開く
Dim book As Workbook
Set book = excelApplication.Workbooks.Open(FileName:=filePath)

‘確認メッセージを非表示にする
excelApplication.DisplayAlerts = False

‘パスワードを付けて保存し直す
Dim password As String
password = “pass”
book.SaveAs FileName:=filePath, FileFormat:=xlWorkbookNormal, Password:=password
book.Close

注意すべきところは「上書きしますか?」等の確認メッセージの非表示設定です。

Excel内のVBAでは

Application.DisplayAlerts = False

上記のような記述で設定できますが、この「Application」はExcel.Applicationクラスの生成済みオブジェクトです。
Access内のVBAでは「Application」はAccess.Applicationクラスの生成済みオブジェクトなので、型が異なります。
よって生成オブジェクトではなく、自分でインスタンスを生成しています。

(担当:奥田 英太郎