2

Word 文書を VBA Excel で開こうとするたびに、バックグラウンドでポップアップ ウィンドウが表示され、読み取り専用のタグが付けられているため、開く方法を尋ねられます。ファイルのプロパティを確認しましたが、読み取り専用ではありませんが、リビジョン管理 (tortoise-SVN) になっています。

Sub ReadSpec()
'References
'  Microsoft Word 14.0 Object library
'
Dim Paragraphe As Object

Dim WordApp As Word.Application
Set WordApp = CreateObject("Word.Application")

Dim WordDoc As Word.Document
Set WordDoc = WordApp.Documents.Open("Spec.docx")
WordApp.Visible = True

WordDoc.Close
WordApp.Quit


End Sub
4

4 に答える 4

1

I'm not familiar with SVN but you might try either:

.Open("Spec.docx", ReadOnly=False) 

or

.Open("Spec.docx", ConfirmConversions=False, ReadOnly=False)

These suppress two common dialogs and force the default behavior. If you needed to override you would have to either make that explicit in the above code (i.e., ReadOnly=True to force read only) or just allow the dialog to display, using your original code.

于 2013-06-10T21:54:48.000 に答える
1

ファイルが別のアプリケーションで使用されている可能性があるため、読み取り専用であると言われています。ファイルに書き込みたい場合を除き、これは問題ではありません。あなたがそれから読み込もうとしているだけなら、私の提案は追加することです

Application.DisplayAlerts = False

プロンプトが削除されるかどうかを確認します。また、一般的には、次の行に沿って何かを行うことをお勧めします。

Sub YourMethod
    Dim PrevDispAlerts as Boolean

    PrevDispAlerts = Application.DisplayAlerts
    Application.DisplayAlerts = False

    'code that does something goes here

    Application.DisplayAlerts = PrevDispAlerts
End Sub
于 2013-06-10T14:03:21.180 に答える
0

Excelのバージョンにもよると思います。多くの場合、ソリューションはあるバージョンでは機能しますが、別のバージョンでは機能しません。

http://smallbusiness.chron.com/open-word-document-excel-using-vba-40430.html

このコードが機能することがわかりました。

'Open an existing Word Document from Excel
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
'Change the directory path and file name to the location
'of the document you want to open from Excel
objWord.Documents.Open "C:\Documents\myfile.doc"
于 2013-07-20T13:06:45.827 に答える