• ベストアンサー

word vba

excel あるいは WORDのVBAで 自己の今使用しているファイル名を読み込んで、 それをnamae(文字列変数)というに入れる処理の 記述法を知りたい。 これを利用して,word利用中、ツールバーに作った専用ボタンで マクロ起動し、そのファイルをある特定のフォルダ(バックアップ用のサーバ上のフォルダ)へ書き込むことをしたい。 バックアップ用のサーバ上のフォルダ:\\Sh\abc-h_pub$\suzu Sub testacro() 'gennzai_riyou.doc=namae ChDir "\\Sh1\abc-h_pub$\suzu" ActiveWorkbook.SaveAs Filename:= _ "\\Sh\abc-h_pub$\suzu\namae" _ , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False End Sub ご指導よろしく

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

ど~もぉ。 Wordのマクロは使用したことがないので、 Excelのマクロでお答えします。 まず、「自己の今使用しているファイル名」とは、マクロを記述するファイルのことで良かったのでしょうか? それなら、 ------------------------------------------------- Sub GetNameTest() Dim Namae As String Const FldName As String = "\\Sh\abc-h_pub$\suzu\"  Namae = ThisWorkbook.Name  ThisWorkbook.SaveAs FldName & Namae End Sub ------------------------------------------------- ファイルを保存する場合には、エラー処理をする必要がありますが、 ややこしくなりますので、エラー処理を省いております。 なお、他ブックもしくは、他ドキュメントを保存する場合は、記述が全く変わってきます。 どうでしょう。

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

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

一般にWordVBAはなじみが無い(解説書がなく、情報が少なくWEBでも散在)のだが この部分ならワードも同じと思う。 ActiveWorkbookー>ActiveDocument ーー Wordでマクロの記録をとってみましたか? (ChDir の部分を除いては)それで具体的にわかるのでは。 >ツールバーに作った専用ボタンでマクロ起動し、 は人手でのクリックと思うが、マクロのボタン登録になるのかな。 ーー 全体的にサーバー利用環境でうまく行くかは、うまく行かないときは 別質問にすると良い。 ーーー http://support.microsoft.com/kb/107686/ja Word による自動バックアップ ファイルの作成、の機能ではおっ着かない?

全文を見る
すると、全ての回答が全文表示されます。
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

提示されたマクロはExcelのものですね。 Wordでも似たようなものだと思います。 Sub testacro()   Dim namae As String   'gennzai_riyou.doc=namae   namae = ActiveWorkbook.Name   ChDir "\\Sh1\abc-h_pub$\suzu"   ActiveWorkbook.SaveAs _     Filename:="\\Sh\abc-h_pub$\suzu\" & namae, _     FileFormat:=xlNormal, _     Password:="", _     WriteResPassword:="", _     ReadOnlyRecommended:=False, _     CreateBackup:=False End Sub

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

関連するQ&A

  • マクロが思い通りに動きません

    エクセルでマクロを使いボタンを 作りました。ボタンを押すとHDDとDVDに保存される仕組みになっています Sub DVD() ChDir "E:\" ActiveWorkbook.SaveAs Filename:=Format(Now, "yyyy-mm-dd(hh時mm分ss秒)"), FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub Sub HDD() ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\***\デスクトップ\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub これだとDVDへ保存が上手くいきません。DVDからエクセルを開いて使えば問題ないのですが、デスクトップから開くと日付入りのデータがデスクトップに保存されてしまいます。 どうやって書き換えたらいいでしょうか

  • Excel/VBAのファイル保存

    いつもここでは大変お世話になっています。 以下のように名前をつけて保存をしているのですが、 同名のファイルがあった場合でも上書き確認せずに上書きをさせる方法を教えて下さい。 お願いします。 ActiveWorkbook.SaveAs Filename:= _ "\\PC名\ディレクトリ名\ファイル名.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False

  • Excelマクロで年度別にフォルダ作成したい。

     Excel2003です。  日々の売り上げ集計ファイルをボタン一つで保存していくマクロを作っています。 Application.DisplayAlerts = False If Dir(ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計", vbDirectory) = "" Then MkDir Path:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計" ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Else ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Format(Date, "yy") & "年集計\" & Format(Date, "yymmdd") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False  とりあえず指定のフォルダに「yymmdd.xls」という名前をつけて保存、もしフォルダがなければ作るというところまで作れました。そこで、今度は「**年度」というフォルダに自動的に保存され、もし「**年度」というフォルダがなければ作るようにしたいのです。上に上げたマクロでは「**年」というフォルダを作ってその中に保存というところまでは出来ているのですが……。とにかく年度で分ける場合の処理がよくわかりません。  回答よろしくお願いします。

  • VBマクロで教えて下さい。

    下記VBマクロで上書きしない時はマクロを終了させたいのですがこ指導をお願いします。 Sub Macro2() ' Macro2 Macro ' マクロ記録日 : 2012/9/3  ユーザー名 : HA社    ChDir "C:\Documents and Settings\6464552\デスクトップ"    ActiveWorkbook.SaveAs Filename:= _        "C:\Documents and Settings\6464552\デスクトップ\直送先部品出庫伝票.xls", FileFormat:= _        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _        , CreateBackup:=False  Range("D42:E49").Select    Selection.ClearContents    Range("I32:J32").Select    Selection.Copy    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _        :=False, Transpose:=False    Application.CutCopyMode = False    ActiveWorkbook.SaveAs Filename:= _        "C:\Documents and Settings\6464552\デスクトップ\PPSC部品出庫伝票.xls", FileFormat:= _        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _        , CreateBackup:=False    Application.Quit End Sub

  • Excel VBA ファイルの置換確認メッセージ

    Excel VBAでファイルを生成するマクロを組んでいます。 同一パス・ファイル名が存在する場合、 「~は存在します。上書きしますか?」と確認メッセージが表示されますが、このメッセージを出力させなくするには、どうコーディングすればよいでしょうか? 以下はファイル生成の部分です。 ActiveWorkbook.SaveAs Filename:=strFileName, _ FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Application.WindowState = xlMinimized 想像ですが、ここに何らかのコマンドを追加するのでしょうか? よろしくお願いします。

  • ファイルの保存先のパス

    マクロでデスクトップに保存させたいのですが、 ActiveWorkbook.SaveAs Filename:= _ "D:\Documents and Settings\●●●\デスクトップ\Book1.xls", FileFormat:=xlNormal _ , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False の●●●のように、私のユーザー名が入ります。 このファイルは色々な人に使ってもらいたいので、 LOCALみたいな意味合いの言葉を入れたいのですが、 なんと入れたら良いでしょうか? ご存知の方いらっしゃいましたら宜しくお願いします。

  • ファイルの保存先を任意にしたい(マクロ)

     エクセルのマクロです。  マクロを実行した時に、保存先とファイル名は任意に入力して(その部分だけは、マクロ実行者が入力して)、その後もマクロを実行させたいのですがどうすれば良いのでしょうか? たとえば、 ActiveCell.FormulaR1C1 = "1" Range("B1").Select ChDir "C:\Documents and Settings\a\デスクトップ" ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book1.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A2").Select ActiveCell.FormulaR1C1 = "2" Range("B2").Select ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book2.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A3").Select ActiveCell.FormulaR1C1 = "3" Range("B3").Select ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\a\デスクトップ\ Book3.xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Range("A4").Select ActiveCell.FormulaR1C1 = "4" Range("B4").Select  上記の場合は、保存先もファイル名もこちらが指定していますが、その部分だけは、マクロの実行者に任意指定及び入力させたいのです。  マクロ初心者なので、よろしくお願いします。

  • エクセルマクロで保存をする際の質問

    エクセル2003をXPで使っています。 あるシートに入力をしたあと、セルA1(変数を"number"としています)に入力させたデータをファイル名にして特定のフォルダに保存させています。 具体的なことは下記の通りです。 ActiveWorkbook.SaveAs Filename:="C:\入力済みデータ\" & number & ".xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False ActiveWorkbook.Close ところが、C:\入力済みデータフォルダに同じ名前のファイルが存在していたとき、 "○○というデータがすでに存在します。置き換えますか?"と聞かれますよね。 そのときに"いいえ"を選択するとエラーになります。 "いいえ"を選択したとき、別名をつけられるようにするにはどうしたらいいでしょうか。 よろしくご教示ください。お願いいたします。

  • マクロ 保存の仕方

    ' 指定の場所に保存する ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\Owner\デスクトップ\A\B\" & Replace(Range("k2").Value, "/", "") & ".xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False ActiveWorkbook.Close 上記のようにマクロを組みましたが、同じ名前で1回保存すると2回目からエラーします。 2回目から保存名の後ろに(2)、3回目は(3)等を付けて保存したいのですが。

  • エクセルマクロ機能で、常に上書き保存を選択させたい

    いつもお世話になっております。 エクセルマクロ機能を利用し、特定のセル情報を新規bookにコピー貼り付けさせ、名前をつけて保存を実行するよう記録しました。 ここまでは問題ないのですが、毎回同じファイル名で実行するので、そのたびに「上書きしますか?」のメッセージが出て、そこでいったん手動で「はい」を選択しないとならなくなります。 ここで、マクロの記述内に何かを加えて、毎回、「はい」を自動で選択させ、保存までが1回のマクロで実行できるようにできますか? 参考までに↓以下、記述された内容をコピーします。 Sub Macro3() ' ' Macro3 Macro ' マクロ記録日 : 2007/9/19 ユーザー名 : ' ' Columns("A:U").Select Selection.Copy Workbooks.Add Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A1").Select Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:="D:\フォルダ1\ふぉるだ2\ファイル名.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False End Sub

専門家に質問してみよう