アプリ版:「スタンプのみでお礼する」機能のリリースについて

前と同じような質問ですみません。。。

エクセルのSheet5をcsv形式で保存する際、
名前を付けて保存のダイアログを表示させて、
ファイルの名前を常に「bonaplus.csv」と
既定値で表示させておくようなマクロは
できないでしょうか?

※bonaplusの後には作成日付を入力します。
※csvファイルを作成した後に元のエクセルファイルの
 保存になります。

A 回答 (6件)

初心者ですが、本やWEBサイトを見ながら作ってみたのですが


これはどうでしょう。

Sub test()

Dim MyFile As String
MyFile = "bonaplus"

Sheets("Sheet5").Copy

Application.Dialogs(xlDialogSaveAs).Show arg1:=MyFile, arg2:=6

End Sub
    • good
    • 0

#1です。

追加です。
MyFileのところを下記のように直すと日付が入ります。
(もっとうまい書き方があると思いますが・・・)
"bonaplus030506"のようになります


MyFile = "bonaplus" & Application.WorksheetFunction.text(Date, "yymmdd")
    • good
    • 0
この回答へのお礼

ありがとうございました。試してみますね。

お礼日時:2003/05/06 17:43

ワークシート画面でメニュー部の余白で右クリックして、ツールバーでコントロールツールボックスをチェックして出す。

金槌とスパナのツールバーアイコンをクリックする。
MicrosoftCommonDialogControl,Version 6.0をクリック
する。
シート上にマウスポインタを持っていくと、プラスとなるからそれを左マウスを押しつつ右下へ引きずる。
コモンダイアログのアイコンが現われ出る。
ボタンをシートの上に貼りつけ、ダブルクリックする。
出てきたVBEの画面に
Private Sub CommandButton1_Click()
Sheet1.CommonDialog1.Filename = "bonuplus.csv"
Sheet1.CommonDialog1.Filter = ".csv"
Sheet1.CommonDialog1.ShowSave
End Sub
を貼りつける。
シートに戻り、三角定規と鉛筆のアイコンをクリックし
実行モードにして、ボタンをクリックする。
「名前をつけて保存」のダイアログ画面が出て、ファイル名はbonuplusになっています。
Sheet1.CommonDialog1.Filename = "bonuplus" & "150506" & ".csv"などとするのも、少し入力が楽になるかもしれません。
    • good
    • 0
この回答へのお礼

>金槌とスパナのツールバーアイコンをクリックする。
>MicrosoftCommonDialogControl,Version 6.0を
>クリックする。
>シート上にマウスポインタを持っていくと、
>プラスとなるからそれを左マウスを押しつつ
>右下へ引きずる。

ここまで試してみたところ、「オブジェクトを挿入できません」というエラーメッセージが表示されました。何か設定を変更しなければいけないのでしょうか??

お礼日時:2003/05/07 14:00

nyworkさんこんばんは。


#1~#2です。動作の確認していただけたでしょうか?
少し改良してみましたのでこちらもご確認いただけたらと思います。
csv形式で保存後自動的にcsvファイルを閉じるようにしました。(WinXP,Excel2002で確認)

この下から-------------------------
Sub test2()

Dim MyFile As String

'MyFileにbonaplusという文字列と本日の日付を入れる
MyFile = "bonaplus" & Format(Date, "yymmdd") '←変更箇所

'Sheet5をコピー
Sheets("Sheet5").Copy

Application.DisplayAlerts = False '追加箇所*1

'MyFileに入れた名前で arg2:=6(この場合csvファイル形式)で保存する
Application.Dialogs(xlDialogSaveAs).Show arg1:=MyFile, arg2:=6

ActiveWindow.Close '←追加箇所。csvファイルを閉じる

Application.DisplayAlerts = True '追加箇所*2

End Sub
この上まで-------------------------

'*1,*2 csvファイル形式で保存する際に出るメッセージ(「このブックはカンマ区切りと互換性のないメッセージが含まれているおそれがある」云々)というのを出すのを抑制します。*1,*2セットで使ってください。メッセージを出したい場合はこの部分を省いてください。


マクロの登録の仕方はごぞんじですよね?
(念のためご説明します)
1 ALT + F11でVisualBasicエディタを起動。
2 プロジェクトエクスプローラ(通常、左側にあるツリー)のVBAProject(マクロをどのファイルに対してもつかいたいのならばpersonal.xlsのところ、そうでなければ今回お使いになるファイルのところ)を右クリック。挿入 > 標準モジュール をクリックして開き、右側のコードウィンドウに上のコードをコピーして貼り付けて、visual basicエディタを閉じます。

実行したい場合は、エクセルに戻って ツール > マクロ > マクロ で場合によってはマクロの保存先を選んで目的のマクロを出して実行するか、フォーム(表示 > ツール > フォーム)のボタンをシート上に配置してそこに登録したり、新規にボタンをつくって既存のツールバーに組み込んで使います。

この回答への補足

度々のご回答ありがとうございます。

以下のように書き換えたところ、
csvファイルは指定のフォルダ(c:\test)を
表示してくれるのですが、
xlsファイルはマクロ実行したファイルが
あるフォルダを指定しまい、(c:\test)を
表示してくれません。

どうも間に
 ActiveWindow.Close
を追加したことが原因らしいのですが。。

csvファイルとxlsファイルを同じフォルダを
指定するにはどのように記述したらよいのでしょう??

あれこれ調べてはみたもののどうも分かりません。
またお力をお貸しください。。

***********************
Sub test2()

Dim MyFileA As String
Dim MyFileB As String

MyFileA = "c:\test\bonaplus" & Format(Date, "yymmdd")
MyFileB = "c:\test\bonaplus" & Format(Date, "yymmdd")

Sheets(1).Copy
Application.DisplayAlerts = False
Application.Dialogs(xlDialogSaveAs).Show arg1:=MyFileA, arg2:=6
ActiveWindow.Close’←原因??
Application.DisplayAlerts = True


Application.DisplayAlerts = False
Application.Dialogs(xlDialogSaveAs).Show arg1:=MyFileB, arg2:=1
Application.DisplayAlerts = True

Application.Quit

End Sub

補足日時:2003/05/09 17:40
    • good
    • 0
この回答へのお礼

お礼が遅くなりました。ごめんなさい。
おかげでできあがりました♪

この後にエクセルを閉じたいのですが、
 Activeworkbook.close
だと、ブックは閉じるてくれるのですが、
エクセルそのものが残ってしまいます。

エクセル自体も閉じるにはどのように記述したら
よいでしょうか?

お礼日時:2003/05/07 18:05

#3のものです。

参照設定するための
MicrosoftCommonDialogControl,Version 6.0
は出てきたでしょうか。
私の場合はエクセルから入ったかVBからかアクセスからかはいったか、現在は入っていますが。
これがあってこれをクリックすると、ワークシートに貼りつけられるはずなんですが。
ツール-マクロ-VBEでVBE画面になり、ツール-参照設定-MicrosoftCommonDialogControl,Version 6.0
をクリック。
ワークシートの画面に戻りセルにマウスポインタを置くと
+になるはず。
左マウスを押しつつ、少し右下へ引きずる。
コモンダイアログのアイコンがシート上に現われ出る。
もう一度だけやって見てください。
CommonDialogでWEB照会すると沢山出ますので、勉強と思っていくつかを見てみてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
やはり以下の

>ツール-マクロ-VBEでVBE画面になり、
>ツール-参照設定-
>MicrosoftCommonDialogControl,Version 6.0
>をクリック。

がありませんでした。(しつこく探したのですが。)

インストールの際チェックがもれたのでしょうか?
原因はわかりませんが、もう少し調べてみて、
設定が可能な状態になりましたら、
回答を頂いたとおりに試してみるつもりです。

ありがとうございました。

お礼日時:2003/05/09 17:23

#4のtbobiです。


うまくいって何よりです(^^)

>エクセル自体も閉じるにはどのように記述したら
よいでしょうか?

Application.Quit

と書けばエクセルを終了できます。実際確認しました。

ちなみに参考にしたのはこちらのページです。
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv251.htm …

参考URL:http://www.asahi-net.or.jp/~zn3y-ngi/YNxv251.htm …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!