it-swarm-ja.com

フォルダパスのWordフィールドコードはありますか?

MS Wordでは、フィールドコードを挿入して、フルパスを含めるかどうかを選択してドキュメントファイル名を表示できます。

ファイル名以外のフォルダパスのみを挿入したいのですが。

マクロはオプションではありません。

これはできますか?

代替のフィールドコードはありますか?

FILENAMEフィールドコードに魔法の文書化されていないスイッチがありますか? (Microsoftは以前にこれを行うことが知られています!)

4
Shevek

できると期待するのに十分合理的なことのように思われるので、私はまだこれをいじっています...しかし、これまでのところ、私が見つけた唯一の方法は、パスとファイル名フィールドを挿入するというかなり厄介なチートです。次に、テキスト(つまりファイル名自体)に白いフォントの色を適用すると、パスとその後の非表示のテキストのブロックだけが表示されます。

問題は、これがフォーマットを混乱させる可能性があり、本当にひどく扱いにくいことです。

-=編集=-

少し厄介な解決策...

Normal.dotmにマクロがあり、ドキュメントに非表示の変数があることを気にしない場合は、このマクロを使用して、クイックアクセスにボタンを設定して実行できる可能性があります...試してみましたそしてそれはマクロのないドキュメントで動作するので、ドキュメント自体はこのメソッドを使用するためにマクロを必要としません、私はこれを私のnormal.dotmテンプレートに入れます...

Sub updatePath()
'
' updatePath Macro
'
'
Dim myPath As String
myPath = ActiveDocument.Path
If myPath = "" Then
    'do nothing as the document has no path... needs to be saved first
Else
    If ActiveDocument.Variables.Count = 0 Then
        ActiveDocument.Variables.Add Name:="myPath", Value:=myPath
    Else
        i = 1
        Do While i < (ActiveDocument.Variables.Count + 1)
            If ActiveDocument.Variables.Item(i).Name = "myPath" Then
                ActiveDocument.Variables.Item(i).Value = myPath
            End If
            i = i + 1
        Loop
    End If
End If

End Sub

そして、フィールドコードを追加するだけです

DOCVARIABLE myPath

上記のマクロを実行した後に更新すると、まさにあなたが望むことを実行します。確かに、単純な更新ではなく2、3回のクリックですが、エクスポートされたドキュメントが適切なフィールドタイプを取得し、このマクロを持つユーザーだけがドキュメントの保存場所を言うことができることを意味しますshould

3
Mokubai

残念ながら、マクロなしでFILENAMEフィールドを使用してこれを行う方法はありません。FILENAMEフィールドには、ファイルの名前を省略するオプションがありません。

とにかく、これはファイル名なしでファイルのパスを挿入するマクロです。

 Sub InsertPath()
 Dim sPath As String 
 
 sPath = ActiveDocument.Path 
 If sPath = "" Then 
 MsgBox "このマクロを実行する前にドキュメントを保存する必要があります。"、_ 
 vbOKOnly、 "ドキュメントが保存されていません" 
その他
 sPath = sPath&Application.PathSeparator 
 Selection.TypeText(sPath)
 EndIf 
 EndSub 
3
Jawa