AIと戦って、あなたの人生のリスク診断 >>

Excel文書の印刷でファイル名を出そうとしています。
ファイル(F)-ページ設定-「ヘッダー/フッター」タブ-「ヘッダーの編集」ボタンで
"[ファイル名]"を設定しました。

印刷してみると、ファイル名の部分は「ファイル名.xls」と「.xls」のようにファイル拡張子が
出力されてしまいます。
この「.xls」を出さないようにする方法はあるのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

こんにちは。


自動的に入れるのでしたら、以下のようなVBAのコードしかありません。
そうでなければ、ご自分で入れるしかないと思います。

ツール-マクロ-Visual Basic Editor を開いたら、左上のプロジェクト・エクスプローラーの中から、ThisWorkbook をダブルクリックして開きます。後は、以下を貼り付けて、
Alt + Q で閉じます。

Private Sub Workbook_BeforePrint(Cancel As Boolean)
  With ActiveSheet
   If .Name = "Sheet1" Then 'シート名を入れます
     .PageSetup.LeftHeader = Mid$(ThisWorkbook.Name, 1, InStr(ThisWorkbook.Name, ".") - 1)

   'プロパティの種類は以下のとおり
   'LeftHeader,CenterHeader,RightHeader
 End If
  End With
End Sub
    • good
    • 1
この回答へのお礼

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

ソースを参考に入れてみたいと思います。

お礼日時:2005/10/09 12:38

コントロールパネルを開き、フォルダーオプションの「表示」タブの詳細設定で「登録されている拡張子は表示しない」にチェックをいれて、OKをクリックする。


これで拡張子はファイル名に付かないようになります。
    • good
    • 2
この回答へのお礼

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

#3へのお礼と入れ違いのようでした^^;
ありがとうございました。

お礼日時:2005/10/09 12:42

>「.xls」のようにファイル拡張子が出力されてしまいます。


私がやって(ヘッダーに&[ファイル名]を設定して印刷して)みると、拡張子は印刷されませんでした。
エクセル2002.
オプションなどの設定も見てみましたが、影響を与えそうな箇所が見つかりませんでした。
    • good
    • 0
この回答へのお礼

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

Excelの設定以外で拡張子が印刷されなくする方法が分かりました。
エクスプローラのフォルダオプションで
「登録されている拡張子は表示しない」をチェックすればいいみたいです。

ただ、私はエクスプローラで拡張子を表示したいので、
チェックを外してありました。

お礼日時:2005/10/09 12:41

基本的には#1の方のご回答と同じで、VBAのコードが違うだけですが...



Private Sub Workbook_BeforePrint(Cancel As Boolean)
  ActiveSheet.PageSetup.CenterHeader = Replace(ThisWorkbook.Name, ".xls", "")
End Sub

左上、中央、右上のどこに表示させたいかによって、「ActiveSheet.PageSetup.」の後を
LeftHeader, CenterHeader, RightHeader のいずれかにすれば良いわけです。
LeftFooter, CenterFooter, RightFooter を使えばもちろんフッターにも印字できますよ。
    • good
    • 0
この回答へのお礼

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

ソースを参考に入れてみたいと思います。
詳しい説明をありがとうございます。

お礼日時:2005/10/09 12:39

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelのヘッダーに拡張子なしのファイル名を表示させたい

WinXPでExcel2002を使ってます。
EXCELのヘッダーにファイル名を挿入したいのですが、拡張子を入れたくありません。
フォルダオプションで拡張子を表示しない設定にすれば入らないのは確認できましたが、普段拡張子を表示させておきたいので、その方法はなるべく使いたくありません。
Windowsではなく、EXCELの機能で拡張子をはずすことは出来ないのでしょうか?

Aベストアンサー

(1)印刷の都度ヘッダーの編集をするなら、.xlsを消せば良い。これは質問者の意図ではなかろう。
(2)ファイル名を指定すると「&F」となるが、ご承知のとおり拡張子付きとなる。拡張子無しの指定選択肢はない。操作での回答はでないと思う。
(3)VBAでは、下記を実行しページ設定すると、ブック名(拡張子なし)がセンターヘッダーにセットされることを確認した。
Sub test01()
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
'.CenterHeader = ActiveSheet.Name
fn = ActiveWorkbook.Name
p = InStr(fn, ".")
fn = Mid(fn, 1, p - 1)
MsgBox fn
.CenterHeader = fn
     (以下略)
      End With
End Sub
ページ設定をマクロ記録すると出てくるコードの一部を改変するもの。

(1)印刷の都度ヘッダーの編集をするなら、.xlsを消せば良い。これは質問者の意図ではなかろう。
(2)ファイル名を指定すると「&F」となるが、ご承知のとおり拡張子付きとなる。拡張子無しの指定選択肢はない。操作での回答はでないと思う。
(3)VBAでは、下記を実行しページ設定すると、ブック名(拡張子なし)がセンターヘッダーにセットされることを確認した。
Sub test01()
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
'.CenterH...続きを読む

QEXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには

お世話になっております。
タイトルの通りの質問なのですが、
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するにはどうすればよいのでしょうか?

たとえば、A1のセルに「ABC」と入力されていたとします。
その「ABC」をヘッダーに自動的に出力できるようにしたいのです。
できればマクロは使いたくありません。

宜しくお願いします。

Aベストアンサー

「表示」メニューの「ヘッダーとフッター」では、セル参照を指定することはできません。
「行タイトル」や「列タイトル」しか使用できません。
「行タイトル」を使用するには「ファイル」メニューの「ページ設定」で「シート」タグを選択してください。
ここで「行タイトル」にA1でしたら1行目を選択すればOKです。
ただし、行丸ごとですので注意してください。

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

Qwordのフィールド編集

word2003 でフィールド「filename」でファイル名を挿入します。そのとき、たとえばファイル名が「12345.doc」だったらそのまま挿入されますが、これを「12345」と挿入されるようにとか、「234」と挿入されるようにフィールドを編集することはできるんでしょうか?

Aベストアンサー

こんばんは。

フィールドは、単純計算は出来ても、文字処理のコマンドが少ないようですね。

マクロでないと無理のようです。

例えば、
まず、ファイルのプロパティで、[ユーザー設定]
プロパティ名  word1
種類 テキスト
値 test (ダミーの文字)

追加(A) をクリック

次に、

ドキュメントに戻り、フィールドを挿入(Ctrl + F9)

{DOCPROPERTY word1 \* MERGEFORMAT}

ThisDocument モジュールに以下のように入れます。

Sub Test1()
Dim fn As String
  fn = ThisDocument.Name
  fn = Mid(fn, 1, InStrRev(fn, ".") - 1) '拡張子を取る
  fn = Mid(fn, 2, Len(fn) - 1)
  ThisDocument.CustomDocumentProperties("word1").Value = fn
  ThisDocument.Fields.Update
End Sub

そして、実行
12345.doc → 12345 → 234
という経緯で、ファイル名が変化しています。

もし自動的に入れるなら、上記のプロシージャ名の
Sub Test1() の代わりに、
Private Sub Document_Open()

と入れ替えて、Wordを再起動します。

こんばんは。

フィールドは、単純計算は出来ても、文字処理のコマンドが少ないようですね。

マクロでないと無理のようです。

例えば、
まず、ファイルのプロパティで、[ユーザー設定]
プロパティ名  word1
種類 テキスト
値 test (ダミーの文字)

追加(A) をクリック

次に、

ドキュメントに戻り、フィールドを挿入(Ctrl + F9)

{DOCPROPERTY word1 \* MERGEFORMAT}

ThisDocument モジュールに以下のように入れます。

Sub Test1()
Dim fn As String
  fn = ThisDocument.Name...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルでページ数をあるセルに表示させたい

どこかのセルに、そのシートで印刷される
ページ数を表示するような計算式orマクロはありますでしょうか。
質問が分かりにくかったらすみません。

Aベストアンサー

次の方法は如何でしょうか。
(1)挿入→名前→定義で名前欄に任意名(仮にaaa)、参照範囲欄に =GET.DOCUMENT(50) →OK
(2)表示セルを選択→F3キー押下→aaaを選択→OK→enter

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

Q「いずれか」と「いづれか」どっちが正しい!?

教えて下さいっ!
”どちらか”と言う意味の「いずれか」のかな表記として
「いずれか」と「いづれか」のどちらが正しいのでしょう???

私は「いずれか」だと思うんですが、辞書に「いずれか・いづ--。」と書いてあり、???になってしまいました。
どちらでもいいってことでしょうか?

Aベストアンサー

「いずれか」が正しいです.
「いづれ」は「いずれ」の歴史的かな遣いですので,昔は「いづれ」が使われていましたが,現代では「いずれ」で統一することになっていますので,「いずれ」が正しいです.

QEXCEL VBAマクロ作成で、他のEXCELからデータを取り込みたい

メインプログラム(EXCEL VBA)より、
他のフォルダーにあるEXCELの項目の内容を取り込みたいです。
たとえば他のフォルダーのEXCELのRange("A2:A3").ValueをメインプログラムのRange("C2:C3").Valueにセットしたい時です。

・コマンドボタン押したら、どこのEXCELから取り込むかのポップアップ(?)は、表示はできてます。
・作業者が選んだパスとブックもMsgBoxで表示できてるので、もらう相手の場所も取得できてます。

・となると次はOPEN,INPUTですか?
テキストデータの取り込みですと、Inputでそのバッファを定義してるのですが、なんか違うような。。。

よろしくお願いします!

Aベストアンサー

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Cells(2, 2).Value ' 相手シートの B2 の値を自分自身の A1 に書き込む

readBook.Close False ' 相手ブックを閉じる
Set readSheet = Nothing
Set readBook = Nothing

私がやる方法です。

Dim writeSheet As Worksheet ' 自分自身の書き出し先シート
Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照

Dim readBook As Workbook ' 相手ブック
Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照
Dim readSheet As WorkSheet ' 相手シート
Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照
' または Set readSheet = readBook.Worksheets(sheetIndex)

' 例えば
writeSheet.Cells(1, 1).Value = readSheet.Ce...続きを読む

Qセル番号を返す関数

エクセルで、セル番号を返す関数はありますか??
セルの内容ではなくて、番号です。(A1、B3など)
調べてみましたがなかなか見つからなかったので、
わかる方教えてください。
宜しくお願い致します。

Aベストアンサー

文字として"C4"を返す。
=ADDRESS(ROW(C4),COLUMN(C4),4)

式を入力したセルの位置を文字列で返す。
=ADDRESS(ROW(),COLUMN(),4)

ADDRESSの3つ目の引数を変えると
$C$4
$C4
C$4
C4
の4つの形に出来ます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング