
お世話になります。
環境
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
このQ&Aを見た人はこんなQ&Aも見ています
-
読み取り専用の確認ダイアログを表示しない方法
Excel(エクセル)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
-
4
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
5
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
6
《エクセルVBA》「他の人が該当ファイルを使用中の場合」の処理
Excel(エクセル)
-
7
VBAで○○:○○と表示させたいのに小数で0.53125のように表示さ
Access(アクセス)
-
8
UserForm1.Showでエラーになります。
工学
-
9
Accessのクエリの結果を、既存のエクセルに追加したい
Access(アクセス)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
エクセルVBAが途中で止まります
-
VBA 別ブックからコピペしたい...
-
ワイルドカード「*」を使うとう...
-
VBAで別ブックのシートを指定し...
-
VBA 実行時エラー 2147024893
-
VBA コードを実行すると画面が...
-
VBAで別のブックにシートをコピ...
-
【Excel VBA】書き込み先ブック...
-
vbaでvbaProjectのパスワード解...
-
【ExcelVBA】zip圧縮されたCSV...
-
Excelマクロ 該当する値の行番...
-
【前回の続きです、ご教示くだ...
-
[Excel]ADODBでNull変換されて...
-
フォルダ内の全てのファイルに...
-
ACCESSVBA からExcelの他ブック...
-
【マクロ】アクティブセルにブ...
-
VBAで複数のブックを開かずに処...
-
Excelブックがアクティブになっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
別ブックをダイアログボックス...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAが途中で止まります
-
ワイルドカード「*」を使うとう...
-
VBA コードを実行すると画面が...
-
VBAで別のブックにシートをコピ...
-
VBAで別ブックのシートを指定し...
-
【Excel VBA】書き込み先ブック...
-
Excelマクロ 該当する値の行番...
-
【ExcelVBA】zip圧縮されたCSV...
-
[Excel]ADODBでNull変換されて...
-
【ExcelVBA】インデックスが有...
-
Excel2007VBAファイルの表示に...
-
VBAで複数のブックを開かずに処...
-
vbaで他のブックに転記したい。...
-
エクセルマクロで、他ブックか...
-
vbaでvbaProjectのパスワード解...
-
VBA 実行時エラー 2147024893
-
【マクロ】違うフォルダにある...
おすすめ情報