
お世話になります。
環境
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)
A 回答 (2件)
- 最新から表示
- 回答順に表示
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
返信遅くなってしまい、大変申し訳ありません。
>試しもしないでの発言だとしたらちょっと失礼ですね。
試しもせずに、決め付けたような書き方をしてしまいました。すいません。
papayukaさんのやり方で試してみます。
自分はまだ初心者なので時間もかかると思いますが、試したら結果を書き込みます。
ほんとにすいませんでした。
No.1
- 回答日時:
VBは解かりませんが、VBAだとOpenメソッドの引数にIgnoreReadOnlyRecommended があり、ヘルプには下記のように書いてありますよ。
IgnoreReadOnlyRecommended 省略可能です。バリアント型 (Variant) の値を指定します。[読み取り専用を推奨する] チェック ボックスをオンにして保存されたブックを開くときでも、読み取り専用を推奨するメッセージを非表示にするには、True を指定します。
この回答への補足
回答ありがとうございます。
多分IgnoreReadOnlyRecommendedですと、読み取り専用にチェックが入っている場合ですよね。
今回の場合、厄介なことに読み取り専用にはチェックが入っておらず、
「~保存する必要がなければ読み取り専用で開いてください。読み取り専用で開きますか?」
というダイアログなのです。
http://www.microsoft.com/japan/technet/prodtechn …
このページで[読み取り専用を推奨する保護]で検索してみてください。
やはり無理なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
読み取り専用の確認ダイアログを表示しない方法
Excel(エクセル)
-
《エクセルVBA》「他の人が該当ファイルを使用中の場合」の処理
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
読み取り専用ファイルを上書き保存するには?
Visual Basic(VBA)
-
5
UserForm1.Showでエラーになります。
工学
-
6
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
7
ExcelVBAでリンク先の対象のファイルを保存
Visual Basic(VBA)
-
8
worksheetFunctionクラスのVlookupプロパティを取得できません エラーへの対応
Visual Basic(VBA)
-
9
【VBA】結合セルの罫線処理について
Excel(エクセル)
-
10
Excel マクロの編集がグレーになって 編集ができなくなりました
Excel(エクセル)
-
11
Accessのクエリの結果を、既存のエクセルに追加したい
Access(アクセス)
-
12
なぜこんな初歩的なVBAのIf文でエラーか発生して使えないのか、全く理解出来ません。誰か助けてくださ
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別ブックをダイアログボックス...
-
エクセルマクロで、他ブックか...
-
Excelマクロ 該当する値の行番...
-
2つ目のコンボボックスが動作...
-
VBA シートをコピーする際に Co...
-
VBA シート名が一致した場合の...
-
複数シート名とブック名が一致...
-
VBA 別ブックからコピペしたい...
-
現在開いているbook全てを対象...
-
VBA コードを実行すると画面が...
-
【Excel VBA】書き込み先ブック...
-
VBA ブックを開かずにブック内...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】インデックスが有...
-
エクセルVBAが途中で止まります
-
Excel マクロ ファイルと同じシ...
-
【Excel VBA】表の列の値毎に分...
-
ユーザーフォームの切り替えに...
-
拡張メタファイルにて貼り付け
-
フォルダ内の全てのファイルに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のエクセルファイルとシー...
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBAで別のブックにシートをコピ...
-
VBA コードを実行すると画面が...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
【Excel VBA】書き込み先ブック...
-
2つ目のコンボボックスが動作...
-
[Excel]ADODBでNull変換されて...
-
Excelマクロ 該当する値の行番...
-
VBA 実行時エラー 2147024893
-
Excelのマクロコードについて教...
-
Excel にて、 リストボックスの...
-
【ExcelVBA】インデックスが有...
-
VBA アプリケーション定義また...
-
【Excel VBA】表の列の値毎に分...
おすすめ情報