さて、先の最終宿題で沖田君が準備したシートの構成

・取引先、商品名など補助的なデータ

・日々の売上(I出荷)、仕入(入荷)のメインとなるデータベース

・入力する内容、ボタンなどを配置したシート(作業用)

・納品書、請求書など印刷のためのシート

ですが、他にも二つシートを準備しておきましょう。

先に紹介しました

・作成したファイルの操作方法など説明のシートです。

と今回紹介します。

・いろいろな初期設定など情報を記述しておくシートです。

です。

・ファイルを取り込む、書き出す際のフォルダ 或いは ファイル名など

・使用可能なプリンターの一覧、使用するプリンター名

・関連して使用するファイル名とパスワード

・IEで使用するURL と パスワードなど

VBAで機能が増えてくると

他のファイルへの連携、Webシステムへログインなど

が必要になります。

VBAのコードに ファイルへのパスやファイル名記述する方法は避けて

シート上に必要な情報を記述しておきます。

後々に変更になった際に、コードを編集することなく運用が出来ます。

 

フォルダやファイルの選択のダイアログは多数ありますが

フォルダの選択

If FileDialog(4).Show = True Then
Range("D3").Value = Applivation..FileDialog(4).SelectedItems(1)
Else
MsgBox "キャンセルされました"
End If

ファイルの選択

If FileDialog(3).Show = True Then
Range("D5").Value = Application.FileDialog(3).SelectedItems(1)
Else
MsgBox "キャンセルされました"
End If
が一番シンプルです。
 
パソコンに接続されているプリンター名の一覧は
'変数の定義
Dim tempShell As Object
Dim tempObj As Object
Dim i As Integer
Set tempShell = CreateObject("Shell.Application")
i = 2
For Each tempObj In tempShell.NameSpace(4).Items
    Range("H" & i).Value = tempObj.Name
  End If
  i = i + 1
Next
Set tempShell = Nothing
でH列に記述して
必要なプリンター名を入力規則のリストから選択します。
その他に、パソコンごとに異なる CDドライブの検索なども
必要になるかもしれません。
Set myDrives = FSO.Drives
For Each myDrive In myDrives
If myDrive.DriveType=4 then
  If myDrive.IsReady Then
   Exit For
  Else
   MsgBox "CDドライブの準備が出来ていません"
   Set FSO = Nothing
   WScript.Quit
  End If
 End If
Next
こんな感じです。
この設定のシートとVBAが完成しましたら
もちろん、他のファイルにコピーして使います。