• 締切済み

Excelファイルを開くとき、読み取り専用にするかどうかのダイアログを出ないようにしたい

お世話になります。 環境 Windows2000 VB6.0 Office2003 現在、VBでOffice系のファイルを対象に処理をするプログラムを動かしています。 【問題】 Office2003(Word/Excel)保存設定に[読み取り専用を推奨する]というチェックが存在します。 このチェックをすると、Officeファイルを開くとき、読取専用として開くかどうかのダイアログが出てしまい、処理が止まってしまいます。 このダイアログを出さずに処理する方法はありませんか? 【現在】 Private Function blnCnvExcel(ByRef objCnvFile As File, _ ByVal strCnvPdfName As String) As Boolean Dim objFso As New FileSystemObject Dim objPdfFile As File Dim objApp As Application '' Excelアプリケーション Dim objXls As Workbook '' Excelワークブック Dim objSheet As Worksheet '' ワークシート Dim strCnvFolder As String '' 出力先フォルダ Dim SheetName() As String ''表示シート格納 blnCnvExcelToPdf = False strCnvFolder = objCnvFile.ParentFolder Set objApp = CreateObject("Excel.Application") Set objXls = objApp.Workbooks.Open(objCnvFile.Path)

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

> 多分IgnoreReadOnlyRecommendedですと、 > 読み取り専用にチェックが入っている場合ですよね。 「多分」とは試してないって事でしょうか? 実際に試されてダメだったのであれば、VB6.0もExcel2003も無いのでこれ以上アドバイスは出来ませんが、試しもしないでの発言だとしたらちょっと失礼ですね。 繰り返しになりますが、VBAのヘルプには 【読み取り専用を推奨する】チェックボックスをオンにして保存されたブック ^^^^^^^^^^^^^^^^^^^^^^ とあります。 こちらで確認可能な Excel97と2000でも「読み取り専用を推奨する」チェックは存在しますのでExcel2003で新たに追加されたオプション機能では無いですし、VBAの下記コードで「読み取り専用を推奨する」チェックを入れたブックを開く際には Test1 だとメッセージは出ません。 Sub Test1() Dim fName  fName = Application.GetOpenFilename  If fName = False Then Exit Sub  Workbooks.Open fName, IgnoreReadOnlyRecommended:=True End Sub Sub Test2() Dim fName  fName = Application.GetOpenFilename  If fName = False Then Exit Sub  Workbooks.Open fName End Sub また、VBAでは下記でも出ません。 Sub Test3() Dim fName  fName = Application.GetOpenFilename  If fName = False Then Exit Sub  Application.DisplayAlerts = False  Workbooks.Open fName  Application.DisplayAlerts = True End Sub

akahuku7
質問者

お礼

返信遅くなってしまい、大変申し訳ありません。 >試しもしないでの発言だとしたらちょっと失礼ですね。 試しもせずに、決め付けたような書き方をしてしまいました。すいません。 papayukaさんのやり方で試してみます。 自分はまだ初心者なので時間もかかると思いますが、試したら結果を書き込みます。 ほんとにすいませんでした。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

VBは解かりませんが、VBAだとOpenメソッドの引数にIgnoreReadOnlyRecommended があり、ヘルプには下記のように書いてありますよ。 IgnoreReadOnlyRecommended 省略可能です。バリアント型 (Variant) の値を指定します。[読み取り専用を推奨する] チェック ボックスをオンにして保存されたブックを開くときでも、読み取り専用を推奨するメッセージを非表示にするには、True を指定します。

akahuku7
質問者

補足

回答ありがとうございます。 多分IgnoreReadOnlyRecommendedですと、読み取り専用にチェックが入っている場合ですよね。 今回の場合、厄介なことに読み取り専用にはチェックが入っておらず、 「~保存する必要がなければ読み取り専用で開いてください。読み取り専用で開きますか?」 というダイアログなのです。 http://www.microsoft.com/japan/technet/prodtechnol/office/office2003/deploy/secdesn.mspx このページで[読み取り専用を推奨する保護]で検索してみてください。 やはり無理なのでしょうか?