Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


58525 / 76738 ←次へ | 前へ→

【22939】Re:実行時エラー462
お礼  焼肉  - 05/3/8(火) 9:58 -

引用なし
パスワード
   G-Luck さん
こんにちは、今朝早速試してみましたが、
ActiveDocumentを使わないようにしてみても同じ現象でした。
どうやら****.Quitを使い、再度本プログラムを走らせるとなる
みたいです。なので、オープンにしたまま、ワードを作って、手動で
閉じさせるようにしました。ご協力本当にありがとうございました。

>>  ''ワード起動部分
>>  Set objword = CreateObject("Word.Application")
>>  Set objword = GetObject(, "Word.Application")
>↑これってクリエイトは新たにワードを立ち上げると思うのですが、一回目の時のワードは閉じていますか?
>
>※私も無知なもので、どうしてGet〜で取得しなおしているのですか?
>これだと、先にワードが起動していると、そちらを取得してしまうと思うのですが?

の質問に対しての私の解釈ですが、私もエクセルからワードを操作するのは初挑戦ですので、今ひとつ理解にかけてますが、
  Set objword = CreateObject("Word.Application")
の部分で新しいワードプログラムの起動のみをしている。で。

  Set objword = GetObject(, "Word.Application")
の部分でその起動させたワードプログラムのあるカレントディレクトリを探して取得する。
(その起動のみされていたワードに新規文書追加や、文字を記述等が可能にする為。)
と解釈してますが、私も確かではありません。。。以上ですが、ご回答になってるでしょうか?追記:(GetObject(******, "Word.Application")、******の部分を空白にすると、
ワード文書があるディレクリが自動的に検索されると理解してます。)


▼G-Luck さん:
>▼焼肉さんへ
>処理の内容はわからないのですが、
>参考までに、気になる点を記してみます。
>
>> Dim objword As New Word.Application
>>
>>  ''リターンコード格納変数の初期化
>>  Rec = 0
>>  
>>  ''ワード起動部分
>>  Set objword = CreateObject("Word.Application")
>>  Set objword = GetObject(, "Word.Application")
>↑これってクリエイトは新たにワードを立ち上げると思うのですが、一回目の時のワードは閉じていますか?
>
>※私も無知なもので、どうしてGet〜で取得しなおしているのですか?
>これだと、先にワードが起動していると、そちらを取得してしまうと思うのですが?
>
>>  ''ワード書式設定、文章記述部分
>>
>>  With objword
>>    .Visible = True
>>    .documents.Add
>ここで、
>  Set myDoc = .documents.Add
>としておいて、ActiveDocumentを使わないようにしてみては。
>
>>    .Activate
>>    .Selection.Font.Name = AllFontName
>>    .Selection.Font.Bold = True
>>    .Selection.Font.Size = TitleFontSize
>>    .Selection.typetext Text:=TitleText
>>    .Selection.Font.Size = MainFontSize
>>    .Selection.typetext Text:=Space(10) & Info_Name & _
>>      Space(1) & "殿" & vbCrLf
>>    .Selection.typetextText:=vbCrLf                 
>>    .Selection.typetextText:=MainText
>>    .Selection.typetextText:=vbCrLf                 
>>    .Selection.Font.Size = DateFontSize
>>    .Selection.typetext Text:=Space(1) & Format(Year(Now) _
>>       & "/1/1", "ggg") & LJapanYear & RJapanYear & "年" _
>>      & Space(1) & "四月" & Space(1) & "一日" & vbCrLf      
>>        ''現在年日付
>>    .Selection.typetext Text:=vbCrLf      
>>    .Selection.Font.Size = CompanyNameFontSize
>>    .Selection.typetext Text:=CompanyNameText
>>  End With
>>********************************************************************** 
>>  ''ワードページ設定部分
>>  With ActiveDocument   
>>    .Content.Orientation = wdTextOrientationVerticalFarEast
>>**********************************************************************
>>↑の部分でエラーが出る。(wdTextOrientationVerticalFarEastが駄目なのか
>>な?)
>  Set buf = ActiveDocument
>  Set buf = buf.Content
>  Set buf = buf.Orientation
>  buf = wdTextOrientationVerticalFarEast
>
>みたいにして、どこでエラーが出るかを明確にすると、原因が思いつきませんか?
>
>>    With .PageSetup
>>      .LineNumbering.Active = False
>>      .Orientation = wdOrientLandscape
>>      .TopMargin = MillimetersToPoints(50)
>>      .BottomMargin = MillimetersToPoints(35)
>>      .LeftMargin = MillimetersToPoints(39)
>>      .RightMargin = MillimetersToPoints(35)
>>      .Gutter = MillimetersToPoints(0)
>>      .HeaderDistance = MillimetersToPoints(15)
>>      .FooterDistance = MillimetersToPoints(17.5)
>>      .PageWidth = MillimetersToPoints(297)
>>      .PageHeight = MillimetersToPoints(210)
>>      .FirstPageTray = wdPrinterAutomaticSheetFeed
>>      .OtherPagesTray = wdPrinterDefaultBin
>>      .SectionStart = wdSectionNewPage
>>      .OddAndEvenPagesHeaderFooter = False
>>      .DifferentFirstPageHeaderFooter = False
>>      .VerticalAlignment = wdAlignVerticalTop
>>      .SuppressEndnotes = False
>>      .MirrorMargins = False
>>      .TwoPagesOnOne = False
>>      .GutterPos = wdGutterPosLeft
>>      .LinesPage = 31
>>      .LayoutMode = wdLayoutModeLineGrid
>>    End With
>>  End With
>>  
>>  ''印刷部分
>>  ActiveDocument.PrintOut
>>       
>>  Rec = MsgBox("印刷完了を確認後ワードを終了します。", _
>>    vbQuestion + vbOKOnly)
>>    
>>  If Rec = 1 Then
>>    With ActiveDocument
>>       ''保存部分
>>      .SaveAs Filename:="*****省略*****"
>>      .Application.Quit
>>    End With
>>  End If
>
>   objword.Quit  
>にしてみては?
>同じなんかな?
>
>>  Set objword = Nothing
0 hits

【22916】実行時エラー462 焼肉 05/3/7(月) 15:32 質問
【22931】Re:実行時エラー462 [名前なし] 05/3/7(月) 23:01 発言
【22932】Re:実行時エラー462 [名前なし] 05/3/7(月) 23:30 発言
【22936】Re:実行時エラー462 G-Luck 05/3/8(火) 8:35 発言
【22939】Re:実行時エラー462 焼肉 05/3/8(火) 9:58 お礼
【22938】Re:実行時エラー462 焼肉 05/3/8(火) 9:45 お礼

58525 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free