掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB6からパスワード認証してExcelを起動するには? (ID:139051)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
VB6からすでにある目的のExcelファイルを起動し、その中にデータをいれています。Excelにパスワードをいれると、vbからの起動時にパスワードダイアログが 表示されますが、そのダイアログをパスワードを渡すことで回避したいと思ってます。ただし、現在の接続方法は、Excelのバージョンなどがまちまちな為、参照設定で選ぶExcelのコンポーネントを使わないで、構文のみで行ってます。 下のは、ネットのどこからかで見つけてきて使っている文章です。 =========================================================== Option Explicit Public MyXL As Object 'Excel への参照を格納する変数 Public XLWB As Object Sub main() Dim r,r2,pass r2="C:\test.xls" pass="1" r=GetExcel(r2, pass) end sub Function GetExcel(r2, pass) Dim ExcelWasNotRunning As Boolean 'Excel の起動を示すフラグ 'Excel が既に起動されているかを調べます。 On Error Resume Next Set MyXL = GetObject(, "Excel.Application") If Err.Number Then ExcelWasNotRunning = False Err.Clear ' エラー発生時 errのクリア Else ExcelWasNotRunning = True End If MyXL.Parent.Windows(1).Visible = True If ExcelWasNotRunning = True Then MyXL.Application.DisplayAlerts = False MyXL.Saved = True MyXL.Close MyXL.Application.Quit MyXL.Application.DisplayAlerts = True End If ' Excel の起動調査。 ' Excel が起動中の場合、起動中オブジェクト テーブルに登録。 ' 表示対象のファイルへの参照をオブジェクト変数に代入します。 Set XLWB = GetObject(r2) ' ←ここでExcelが起動するが、パスワードの受け渡し方が不明 MyXL.Workbooks.RunAutoMacros 1 XLWB.Application.Visible = True XLWB.Parent.Windows(1).Visible = True End Function ================================================================ MyXL.Application.Workbooks.Open FileName:=r2, Password:=pass 本来なら↑これでいけると書いてあったのですが、参照設定が必要みたいです 又、Set XLWB = GetObject(r2)の前にMyXL.Application.Workbooks.Open FileName:=r2, Password:=pass を装入しただけでは、エラーも起こらずそのまま 通過してしまいました。 文章が長くなってしまいましたが、すみませんが、ご教授お願いします。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.