過去ログ

                                Page      48
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼テーブルを Excel の Password 付きで出力したい  竹G 02/10/1(火) 16:12
   ┗Re:テーブルを Excel の Password 付きで出力したい  こうちゃん 02/10/1(火) 16:56
      ┗お礼:テーブルを Excel の Password 付きで出力したい  竹G 02/10/3(木) 9:53

 ───────────────────────────────────────
 ■題名 : テーブルを Excel の Password 付きで出力したい
 ■名前 : 竹G
 ■日付 : 02/10/1(火) 16:12
 -------------------------------------------------------------------------
    Access2000 のVBAで、テーブルをExcel2000形式で出力は

DoCmd.TransferSpreadsheet acExport, _
  acSpreadsheetTypeExcel9, "テーブル", "Excelファイル"

で出来ますが、パスワード設定のやり方が分かりません。


VB6.0でパスワードを設定するのは、

  Workbooks.Open FileName:=strNoPwdFile
  strPwdFile = Application.GetSaveAsFilename _
     (strPwdFile, "エクセルファイル(*.XLS),*.XLS")
 
  With ActiveWorkbook
   .SaveAs FileName:=strPwdFile, _
       password:=strOpenPwd
   .Close
  End With

strNoPwdFile:パスワード保護されていない文書のパス
strPwdFile :パスワード保護された文書を保存するパス及び名前
strOpenPwd :文書を開くために必要な、大文字と小文字が区別さ
      れたパスワード
strModPwd  :文書を変更するために必要な、大文字と小文字が区
      別されたパスワード

で出来るのですが、、、

どなたか、AccessVBAで、テーブルデータをパスワードを付与したExcelファイ
ルに出力するするやり方をご存じでしたら、教えて下さい。

 ───────────────────────────────────────  ■題名 : Re:テーブルを Excel の Password 付きで出力したい  ■名前 : こうちゃん <nakajima19@hotmail.com>  ■日付 : 02/10/1(火) 16:56  -------------------------------------------------------------------------
   竹G さん、こんにちは

パスワード設定して保存する部分だけでいいでしょうか?

エクセルをOLEオブジェクトとして開く必要があります。
以下を試してみてください。

ub test1()

  Dim objExlApp As Object
  Dim strNoPwdFile As String
  Dim strPwdFile As String
  Dim strOpenPwd As String
  
  'ここは実際のものにしてください。
  strNoPwdFile = "d:\test\book1.xls"
  strPwdFile = "d:\test\passbook1.xls"
  strOpenPwd = "1234"
  
  Set objExlApp = CreateObject("Excel.Application")
  objExlApp.Visible = True
  objExlApp.Workbooks.Open FileName:=strNoPwdFile
  strPwdFile = objExlApp.GetSaveAsFilename _
     (strPwdFile, "エクセルファイル(*.XLS),*.XLS")
 
  With objExlApp.ActiveWorkbook
   .SaveAs FileName:=strPwdFile, _
       password:=strOpenPwd
   .Close
  End With
  
  objExlApp.Quit
  Set objExlApp = Nothing

End Sub

 ───────────────────────────────────────  ■題名 : お礼:テーブルを Excel の Password 付きで出力したい  ■名前 : 竹G  ■日付 : 02/10/3(木) 9:53  -------------------------------------------------------------------------
   こうちゃんさん ありがとうございます。

>エクセルをOLEオブジェクトとして開く必要があります。

そうでした。Access上でのVBAだから、ExcelをOLEオブジェクトで
開かないとダメでした。

答えて頂いた方法で上手くいきました。ありがとうございます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 48