VBでWordファイルを新規作成する方法について

解決


宇部一郎  2006-02-11 01:36:00  No: 94127

VBで既存したWordファイル(d:\file\test.doc)を下記のようなプログラムで開きましたが,もし,d:\file\test.docを新規作成するなら,どうすれば実現できますか?
誰かご存知なら,教えていただけませんか?

********************************
Public Function ExecWord(para As String) As Boolean
  Dim wrd As Variant

  On Local Error Resume Next
  Set wrd = CreateObject("Word.Application")
  Shell wrd.Path & "\winword.exe " & para, 1
  If Err <> 0 Then
    ExecWord = False
  Else
    ExecWord = True
  End If
  On Local Error GoTo 0
End Function

Private Sub Command1_Click()
    
  ExecWord ("d:\file\test.doc")

End Sub


Blue  2006-02-11 02:50:10  No: 94128

> Set wrd = CreateObject("Word.Application")
これを使ってワードを起動できませんか?
# というか、WORDが非表示で立ち上がりまくってそう、、、

Dim wd As Object
    
Set wd = CreateObject("Word.Application")
wd.Visible = True ' 表示
wd.Documents.Add  ' 新規ドキュメントを追加
Set wd = Nothing


Blue  2006-02-11 02:55:05  No: 94129

ちなみに、既存のdocを開くには、

Dim wd As Object
    
Set wd = CreateObject("Word.Application")
wd.Visible = True
wd.Documents.Open "d:\file\test.doc"
Set wd = Nothing

で開けます。


たくみ  2006-02-11 12:15:39  No: 94130

過去ログ検索してますか?

WORDと打っただけでも・・

http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200511/05110002.txt

http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200411/04110082.txt

そのものズバリのスレがないなんて言わないでね。
理屈わかればどうやったら新規で開けるかもわかるはずなんじゃ。。


宇部一郎_未解決  2006-02-13 22:20:31  No: 94131

Blueさん
ご回答ありがとうございました.
試してみましたが,確かに新規作成ができますが,指定しだフォルダの下に指定したファイル名で新規作成はできますか?
度々申しわけありませんが.教えていただけませんか?


たくみ  2006-02-13 23:00:56  No: 94132

あくまで(あんまり調査せず)安易にすぐ実現したい、というのなら

1、空の.DOCファイルを手で作成し適当な場所に
(例えば使い勝手を考えapp.pathにでも)おいておく。

2、FileCopyを使って1、のファイルを置きたい指定先フォルダ下に
コピーするコードを書く。
※当然ながらコピーが完全に終了したか、チェックするコードも書き
その判定がTureのとき3、へ進む。
※コピー先フォルダ内に同名のファイルがないか調べ、
あれば前もって削除するコードも必要でしょう。

3、2、でできた.DOCファイルを開くコードをちゃんとした
お行儀で書く。
※Blueさんも
> # というか、WORDが非表示で立ち上がりまくってそう、、、
と指摘されてますよね。


Blue  2006-02-13 23:14:52  No: 94133

というか、新規作成でひらいたDOCを名前をつけて保存でダメなの?

> Dim wd As Object
  Dim doc As Object
>    
> Set wd = CreateObject("Word.Application")
> wd.Visible = True ' 表示
  Set doc = wd.Documents.Add  ' 新規ドキュメントを追加
  ' ここでSaveAsすればいいと思うのだが、、、
  doc.SaveAs "パス文字列"
  Set doc = Nothing
> Set wd = Nothing


宇部一郎  2006-02-14 04:11:24  No: 94134

>Set doc = wd.Documents.Add  ' 新規ドキュメントを追加
>doc.SaveAs "パス文字列"
で新規フォルダ及び新規ファイルを同時に作るのは時々うまくいけないことがありました.

CreateDirectory関数を使って,まず新規フォルダを作成し,後Documents.Add  を使って新規wordファイルを作成すれば,うまくいきました.

皆さんの親切な教えのおかげでできまして本当に感謝いたします.
有難うございました!


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加