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
> Set wrd = CreateObject("Word.Application")
これを使ってワードを起動できませんか?
# というか、WORDが非表示で立ち上がりまくってそう、、、
Dim wd As Object
Set wd = CreateObject("Word.Application")
wd.Visible = True ' 表示
wd.Documents.Add ' 新規ドキュメントを追加
Set wd = Nothing
ちなみに、既存のdocを開くには、
Dim wd As Object
Set wd = CreateObject("Word.Application")
wd.Visible = True
wd.Documents.Open "d:\file\test.doc"
Set wd = Nothing
で開けます。
過去ログ検索してますか?
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
そのものズバリのスレがないなんて言わないでね。
理屈わかればどうやったら新規で開けるかもわかるはずなんじゃ。。
Blueさん
ご回答ありがとうございました.
試してみましたが,確かに新規作成ができますが,指定しだフォルダの下に指定したファイル名で新規作成はできますか?
度々申しわけありませんが.教えていただけませんか?
あくまで(あんまり調査せず)安易にすぐ実現したい、というのなら
1、空の.DOCファイルを手で作成し適当な場所に
(例えば使い勝手を考えapp.pathにでも)おいておく。
2、FileCopyを使って1、のファイルを置きたい指定先フォルダ下に
コピーするコードを書く。
※当然ながらコピーが完全に終了したか、チェックするコードも書き
その判定がTureのとき3、へ進む。
※コピー先フォルダ内に同名のファイルがないか調べ、
あれば前もって削除するコードも必要でしょう。
3、2、でできた.DOCファイルを開くコードをちゃんとした
お行儀で書く。
※Blueさんも
> # というか、WORDが非表示で立ち上がりまくってそう、、、
と指摘されてますよね。
というか、新規作成でひらいた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
>Set doc = wd.Documents.Add ' 新規ドキュメントを追加
>doc.SaveAs "パス文字列"
で新規フォルダ及び新規ファイルを同時に作るのは時々うまくいけないことがありました.
CreateDirectory関数を使って,まず新規フォルダを作成し,後Documents.Add を使って新規wordファイルを作成すれば,うまくいきました.
皆さんの親切な教えのおかげでできまして本当に感謝いたします.
有難うございました!
ツイート | ![]() |