
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
#2です。
このマクロが難しいのは、自ブックでは、BeforeSave イベントが使えても、任意のブックではイベントが使えないということなのですね。だから、クラス・インスタンスを設けなくてはならないのです。
No.3
- 回答日時:
VBAの知識が無いと実現は難しいでしょう。
下記で言っていることが、何を言っているか判らない段階だと
無理でしょう。
エクセルで
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "AAA"
End Sub
でテストすると、上書き保存でも、このイベントで捉えられるようなのでこれが使えそう。Msgboxの行に下記コードを組む。
現在開いている自分のファイル名を採る。
自分の名前の文字列をファイル名の中に入れて、継ぎ接ぎする。
その名前でsaveAsする。
ワードも似たコードになろうが、2通りで別に考えないといけない。
No.2
- 回答日時:
こんばんは。
Word側は、こちらは、Office 2003 ですが、初期起動では、直接働きません。
新規をクリックしていただくか、既存のファイルを開かないと、設定されません。
Excel側では、そのまま初期起動で、設定が働きます。
本来は、保存ボタン側につけると確実ですが、内容的に、複雑になりすぎます。掲示板では不向きです。私の試した感じでは、Word側は、どこかに無理があるという感じが否めないです。
本来は、コマンドボタンにして取り付けたほうがよいかもしれませんね。
イメージはこのようにしました。
tasklist_Suzuki1025.doc
----------------------------------------------------------------
Word 編 (Normal.Dot )
VBEditor 画面-挿入-クラスモジュール
Class1
Public WithEvents objApp As Application
Private Sub objApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
Dim Fname As String
Cancel = True
If Not Doc.Name Like "*.???*" Then
Fname = objApp.UserName & Format$(Date, "mmdd")
Fname = Replace(Fname, Space(1), "_", , , vbTextCompare)
With Dialogs(wdDialogFileSaveAs)
.Name = Fname
.Show
End With
End If
End Sub
'ThisDocument モジュール
Dim myClass As Class1
Private Sub Document_New()
Set myClass = New Class1
Set myClass.objApp = Application
End Sub
Private Sub Document_Open()
Set myClass = New Class1
Set myClass.objApp = Application
End Sub
===========================================================
Excel 編 (Personal.xls)
Class 1
Private Sub NewApp_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Fname As String
If Not Wb.Name Like "*.???*" Then
Fname = NewApp.UserName & Format$(Date, "mmdd")
Fname = Replace(Fname, Space(1), "_", , , vbTextCompare)
Application.EnableEvents = False
With Application.Dialogs(xlDialogSaveAs)
.Show (Fname)
End With
End If
Application.EnableEvents = True
If Wb.Name <> ThisWorkbook.Name Then
Cancel = True
End If
End Sub
'----------------------------------
'ThisWorkbook モジュール
Dim myClass As Class1
Private Sub Workbook_Open()
Set myClass = New Class1
Set myClass.NewApp = Application
End Sub
No.1
- 回答日時:
Wordなどの、テキストのトップに[タイトル名]を書き込めば
作業終了時に[上書き保存]を選択で先ほどの[タイトル名]がファイル名になる筈ですが。
この様に成りませんか?
この回答への補足
はい、Wordだとファイル名が自動的にテキストの最初の何文字かになると思いますが求めているものは例えば以下のような例です
1.斉藤さんが「●●契約書.doc」というファイルを作成しました
2.鈴木さんはそのファイルを受け取り内容を確認、訂正箇所があったのでファイルに上書きする形で修正を加え上書き保存。
3.そこで保存されたファイルが「●●契約書_Suzuki.doc」といった様に自動的に保存される
といった具合です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
【マクロ】変数に入れるコード...
-
【マクロ】元データと同じお客...
-
【マクロ】【相談】Excelブック...
-
【マクロ】左のブックと右のブ...
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】実行時エラー '424':...
-
Office2021のエクセルで米国株...
-
他のシートの検索
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】【画像あり】❶ブック...
-
【マクロ画像あり】❶1つの条件...
-
エクセルシートの見出しの文字...
-
空白のはずがSUBTOTAL関数でカ...
-
【マクロ】【画像あり】ファイ...
-
5単位で繰り上げしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word、Excelのファイル名に自動...
-
xoopsのダウンロードモジュール...
-
EXCEL VBAのModuleの使い方
-
私書箱スクリプト(PHP、CGI等)
-
Perlの中に大量のHTMLを記述す...
-
PHP/FI2,PHP3,・・・・・・・
-
VB6の変数宣言で、末尾に"*"と...
-
XOOPSに、検索エンジン機能を付...
-
xoopsのモジュールの使い方
-
XOOPSの開発者向け解説書
-
モジュールの開発方法について
-
CMS超初心者の私にご指導下さい...
-
本気の不倫後の再構築について
-
QGISでの円(圏域)描画方法に...
-
PL/SQLとMS SQLServerの違いを...
-
付加価値を加える?
-
RAID5+HS vs RAID6
-
Movable typeで作ったサイトの...
-
VBAをDLL化する方法を教えてく...
-
不倫でバレた後、再構築と仮面...
おすすめ情報