
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で質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excel、Wordのファイル 3 2023/05/07 04:58
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Word(ワード) office 2021へ自分用のクイックアクセスとマクロをコピーしたい 2 2023/03/11 21:15
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Word(ワード) PCで作ったwordをスマホで編集しようとすると「このファイルは読み取り専用です。」と表示される。 3 2023/05/30 14:51
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) ExcelVBA メモ帳を起動し名前を付けて指定フォルダに保存 2 2022/04/18 13:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
xoopsのダウンロードモジュール...
-
私書箱スクリプト(PHP、CGI等)
-
Code Readingという本を読んでいて
-
ホームページビルダー・ウェブ...
-
Web標準で記述することが一番の...
-
本気の不倫後の再構築について
-
ブログ自動投稿プログラム
-
フロントページ
-
VBAをDLL化する方法を教えてく...
-
Win2000 Server IIS において、...
-
プログラミングに関する質....
-
VBA:業務改善ツール
-
MovableType(ムーバブルタイプ...
-
ANA発券システムトラブルについて
-
c言語のfopen()がうまくいきま...
-
お勧めのツール(プログラマー...
-
付加価値を加える?
-
Outlookのエラー
-
isoファイルの作り方。
-
C++のスタイルチェック
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word、Excelのファイル名に自動...
-
OpenPNEで日記等を外部公開する...
-
VB6の変数宣言で、末尾に"*"と...
-
EXCEL VBAのModuleの使い方
-
MODXのイベントカレンダー機能...
-
Movable Type特定ページに表示...
-
これはウイルスでしょうか?
-
xmobileのテンプレート編集につ...
-
私書箱スクリプト(PHP、CGI等)
-
テンプレート表示
-
Xoopsで勤怠管理
-
CMS超初心者の私にご指導下さい...
-
xoopsをグループウェアとして利...
-
xoopsについて
-
WEB上で恋愛力診断を作りた...
-
モジュールのアクセス権設定が...
-
本気の不倫後の再構築について
-
QGISでの円(圏域)描画方法に...
-
PL/SQLとMS SQLServerの違いを...
-
VBAをDLL化する方法を教えてく...
おすすめ情報