• 締切済み

WordのVBAで分からない所があります。

コードの中で以下を実行すると 実行時エラー5408 パスワードが正しくありません。 というのが表示されてしましまいます。 on error resume nextを直前に書いても表示されてしまいます。 パスワードが違う場合でも表示させたくないんですがどうしたらよいの でしょうか?(正しいパスワードになったら開くようにしたい。) Documents.Open fileName:=inputfile,PasswordDocument:=wrkString, ReadOnly:=True

みんなの回答

  • quicon9ue
  • ベストアンサー率31% (6/19)
回答No.1

on error resume nextの前に Application.DisplayAlerts = False を書いてください。 (一応End Subの前にTrueに戻してください。)

koara1982
質問者

補足

回答ありがとうございました。 けれど、解決しませんでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • WORD VBAでテキストファイルを指定して...

    WORD2002を使っています。 WORD VBAでダイアログボックスを表示させ、オープンするファイルを指定しようとしています。 Documents.Open FileName:=dlg.Name, ReadOnly:=True でオープンするファイルがテキストファイルだけなので、ダイアログボックスに表示するファイルをテキストファイルだけにしたいと思っています。 どのように変更すればいいのでしょうか?

  • VBA

    VBAでstrFILENAMEにaaa.xlsを代入したいのですがどうしたらいいのでしょうか? このままだと定義エラーになっていまします。 Dim wbk As Workbook Set wbk = Workbooks.Open(Filename:="C:\Documents and Settings\Administrator\デスクトップ\strFILENAME", ReadOnly:=True)

  • サーバー上のブックを開けない時(エクセルVBA)

    ネットワーク障害などでサーバー上のエクセルブックが開けない時、かなり待たされてから次のメッセージが出ます。 実行時エラー'1004' 'Open'メソッドは失敗しました。'Workbooks'オブジェクト しかもその間、Ctrl-Breakも受け付けてくれません。 正確に待ち時間は計ったわけではありませんが、10分くらいでしょうか。 なんとかこれを回避して、早い時間にエラーメッセージを出してコントロールを戻すことはできないでしょうか? 以下のVBAでオープンしています。 Workbooks.Open Filename:=myFileName, Readonly:=True よろしくお願い申し上げます。

  • ACCESS VBA からのワードファイルの起動

    ACCESS97を(未だに!)使用しています。 これから、VBAでワードの既存ファイルを起動したいと考えています。その際、ワードを新規に立ち上げることなく、表示して編集したいわけですが、どうしても新規に起動してしまします。 これまで試したのは、 Dim oApp As Object Set oApp = GetObject("", "word.Application") oApp.Visible = True oApp.Documents.Open FileName:="C:\filename.doc" および Dim oApp As Object Set oApp = CreatObject("word.Application") oApp.Visible = True oApp.Documents.Open FileName:="C:\filename.doc" などです。 しかし、すでにワードが起動していても、どうしても、新たにワードを立ち上げてしまいます。 解決策はあるでしょうか? ちなみにエクセルだと、GetObject で既に起動しているエクセルに追加でアプリが表示されます。

  • Excel VBA 自身を非表示にした時の解除方法

    Excel2010でVBAのコードデバッグ中に Excelアプリケーションのウインドウの中に Excelブック(シート)が表示されなくなってしまったため 一度、Excelアプリケーションを終了して 再びデバッグ中のExcelブックを開いたのですが それでも Excelアプリケーションのウインドウだけが表示されて、 開きたいExcelブック(シート)は表示されません。 おそらく、VBAのコードの中の Set wb = Workbooks.Open(fileName:=filePass, ReadOnly:=True) ActiveWindow.Visible = False の ActiveWindow.Visible = False のコードが 自分自身を非表示にしてしまったのではないかと思われます。 イミディエイトウィンドウに ActiveWindow.Visible = True と入力してもウインドウが表示されていないので エラーになります。 どのようにすれば非表示の状態から 表示の状態に戻すことができるのでしょうか。

  • エラーを無視して次へ行きたい

    下のループでXMLファイルをExcelに取得しているのですが、ループの途中で 実行時エラー '1004'で止まる場合があります。落としたところは後で取ればいいかと、Resume Nextをしているのですが、次の i へいけずに、エラーメッセージがでたまま止まってしまいます。 この場合、エラーを無視して次へ行くにはどうしたらいいのでしょうか? For i = 0 To 10  On Error Resume Next  Workbooks.Open Filename:=ThisWorkbook.Path & "\" & text(i).xml  On Error Goto 0 Next i 実行時エラー '1004' エラーのため、この XML ファイルを開けません。正しい XML ファイルであり、XML構文が正しいことを確認してください。また、ファイルを作成し直し、それを開く前に他のアプリケーションを閉じることができます。

  • excell2007におけるVBAの変更点

    次のvbaがexcell2007ではエラーとなります。どうしてなのでしょうか。 If Workbooks(fileName$).ReadOnly = True Then またこのようなことが掲載されているwebまたは本を教えていただきたく思っています。 よろしくお願いします。

  • Excel2010VBAからWordの呼び出し

    お世話になります。 Excel2003VBAで、次の様にWordファイルをオープンしていました。 Dim boReadOnly As Boolean Dim objWord As Word.Application boReadOnly = True Set objWord = CreateObject("Word.Application") With objWord .Documents.Open toFullName, ReadOnly:=boReadOnly .Visible = True End With これを、Excel2010VBAへ移植すると、WordファイルがExecelの後方に隠れて表示されてしまいます。 暫定として、.Visibleの次行に、   .Activate を追加しています。これを行なうと、Startアイコンの→横に、Wordアイコンが点滅するので、 Wordがオープンした事はわかります。 Wordファイルを呼び出し元のExcelの前面に表示させるには、どうすればいいでしょうか? 御教示よろしくお願いします。

  • エクセルVBAでワークシートのコメントを全部削除

    以下のコードを走らせると実行時エラー91[オブジェクト変数またはwithブロック変数が設定されていません]となってしまいます。 On Error Resume Nextで回避出来るのですが、理由がわかりません。On Error Resume Nextで回避しなくともいいようにするにはどう直せばいいのでしょうか? Sub Del_Comment() Dim MyR As Range, C As Range Set MyR = Cells.SpecialCells(xlCellTypeComments) For Each C In MyR C.Comment.Delete Next End Sub

  • AccessからWordの差し込み印刷文書を印刷するVBAについて教えてください

    Access初心者です。 使用バージョンは、Access・Wordともに2007です。 Accessのクエリー/テーブルをWord文書に差し込み、Accessから起動してその差し込み文書を印刷したいのですが、うまくいきません。 Getobjectを使ってWordの差し込み文書テストを印刷する以下のようなプロシジャを作成しました。 予め、手動でWordを起動してから、このプロシジャを実行すると、文書『テスト』を開く前に「次の文書を開くと次のコマンドが実行されます。Select*fromテーブル名 データベースのデータが文書に挿入されます続行しますか?」のメッセージが表示されて応答確認が来るのですが、Wordを起動せずに実行すると、上記のメッセージは表示されず、テーブル内のデータに更新がかかっているにもかかわらず、上記メッセージで「いいえ」と応答したのと同様の状態で印刷されます。 はたして、こんなプロシジャでよいのか、使用方法が間違っているのかすら見当がつきません。どなたかアドバイスをお願いいたします。 (作成したプロシジャ) On Error GoTo エラー発生 Dim WordFilePass As String WordFilePass = "C:\Users\User1\Documents\テスト.docx" Dim MyWord As Word.Application Set MyWord = GetObject(, "Word.Application") MyWord.Visible = True MyWord.Documents.Open FileName:=WordFilePass MyWord.ActiveDocument.PrintOut MyWord.Application.Quit Set MyWord = Nothing エラー発生: If Err.Number = 429 Then Set MyWord = CreateObject("Word.Application") Resume Next Else MsgBox "エラーNo : " & Err.Number & vbNewLine & vbNewLine & _ "エラー内容 : " & Err.Description End If