Access2000でクエリーをExcelに出力するとファイルをExcel95バージョンで作ってしまいます。Excel2000で作ったファイルを開くとき、その出力されたファイルのデータを参照するように組むと、「ファイルが読み込めません」とメッセージが出て参照してくれません。
Access2000でクエリーをExcel2000で出力させる方法はあるのでしょうか?

A 回答 (2件)

こんにちは。



これは、マクロを使って出力という風に解釈したのですが、
そうであれば、「ワークシート変換」アクションを使って、
テーブル名のところにクエリ名を書いてあげると出来ると思います。

お試しください。
    • good
    • 0
この回答へのお礼

!!早速試してみました。
そうですこの通りにやったらきちんとExcel8-9に変換してくれました。
感謝感謝拍手大喝采です。
わかりにくい回答も多い中、ずばり直球ストライクの回答でした。
これからも悩めるPCユーザーに暖かい合いの手を差し伸べてください。
有難うございました。!!

お礼日時:2001/09/08 19:32

回答はできませんが、参考情報は以下のWebにあります。



http://www.microsoft.com/JAPAN/support/kb/articl …

http://www.microsoft.com/JAPAN/support/kb/articl …
    • good
    • 0
この回答へのお礼

私もマイクロソフトのサポートページを見ていましたが、Excel97-2000で出力としても、5-7で出すなんて納得できないためメールで聞いてみましたが、返事は来ませんでした。
ほかに情報等ありましたらまた教えていただきたいと思います。有難うございました。

お礼日時:2001/09/07 06:56

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

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

QExcel2000で作ったファイルをExcel2003で表示印刷するとシートが消える??

こんにちは。初めて相談させて頂きます。
会社で少々PCに詳しいと言う事で、PCのヘルプデスク的な事をしており、今回の不具合は初めての遭遇で対処が出来ず業務に支障をきたしております。
宜しくお願い致します。

<今回の問題>
 Windows Meのパソコンに入っているExcel2000で作成・入力したファイルを、ネットワーク上で共有してWindows XPのパソコンに入っているExcel2003で表示・印刷を行っております。
 2000では特にエラーはなく、表示・入力ができます。
 しかし、2003で表示をすると、ある一部のシートが消えたり見えたりするそうです。
 消えたりするシートからリンクしている計算式などは正常に計算されており、新たに消えたりするシートと同じ名前のシートを作ろうとすると「同じ名前のシートがある」と言ったエラーメッセージが出て来るそうです。

 その『消えたりするシート』は、印刷しなければならないシートだそうなのですが、どのタイミングで消えたり出てきたりするのか、予測不可能な為、対処出来ずにいます。

 OSが違う上、Officeのバージョンも違うので、その辺の不具合ではないかと推測していますが、解決できません。
 よろしくご教授下さい。

こんにちは。初めて相談させて頂きます。
会社で少々PCに詳しいと言う事で、PCのヘルプデスク的な事をしており、今回の不具合は初めての遭遇で対処が出来ず業務に支障をきたしております。
宜しくお願い致します。

<今回の問題>
 Windows Meのパソコンに入っているExcel2000で作成・入力したファイルを、ネットワーク上で共有してWindows XPのパソコンに入っているExcel2003で表示・印刷を行っております。
 2000では特にエラーはなく、表示・入力ができます。
 しかし、2003で表示をすると、あ...続きを読む

Aベストアンサー

2000/2003共に、右上からOffice Updateをしてください。
http://office.microsoft.com/ja-jp/downloads/default.aspx

2000で上書き保存や名前を付けて保存をして、バグを更新してください。

QAccessで空のExcelファイルを出力する方法について

下記を実行した所、C:\excel.xlsのセルA1に「1」と記述されました。

【ソース】
Private Sub コマンド0_Click()
Dim objExcel As Object

Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open FILENAME:="C:\excel.xls"

objExcel.Range("A1") = 1

objExcel.Application.ActiveWorkbook.Save
objExcel.Application.Quit
End Sub

しかし、C:\excel.xlsが存在しない状態で実行すると下記のエラーメッセージが表示されました。

【エラーメッセージ】
実行時エラー '1004'
'C:\excel.xls'が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。

上記現象を回避する為には、毎回空のExcelファイルを出力した上でセルに値を書き込めば良いと思いましたが、空のExcelファイルを出力する方法が分かりませんでした。

その為、何かアドバイスをいただける方がいらっしゃいましたら、どうかよろしくお願いします。

下記を実行した所、C:\excel.xlsのセルA1に「1」と記述されました。

【ソース】
Private Sub コマンド0_Click()
Dim objExcel As Object

Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open FILENAME:="C:\excel.xls"

objExcel.Range("A1") = 1

objExcel.Application.ActiveWorkbook.Save
objExcel.Application.Quit
End Sub

しかし、C:\excel.xlsが存在しない状態で実行すると下記のエラーメッセージが表示されました。

【エラ...続きを読む

Aベストアンサー

これでいかがでしょうか。標準モジュールに置いて試験しました。(Office2000)
Sub excelTest()
Dim objExcel As Object
Dim wbk As Object

Set objExcel = CreateObject("Excel.Application")
Set wbk = objExcel.Workbooks.Add
wbk.sheets(1).range("A1").Value = 1
wbk.SaveAs Filename:="C:\excel.xls"
wbk.Close
objExcel.Application.Quit
End Sub

QExcel絶対参照を相対参照にしたらファイルサイズが増加?

Excelにて、ファイルサイズを小さくしようと思い、絶対参照しているものを相対参照(「$」を外す)にしてみました。
素人考えでは、計算は変わらないし文字も減るから少しはファイルサイズが小さくなるだろうと思ったのですが、逆に大きくなってしまいました。
なぜこうなってしまうのでしょうか。
理屈のわかる方、教えてください。

Aベストアンサー

書式の場合ほどあからさまではありませんが、
数式の場合も、個別に設定するより、フィルやCtrl+Enterで【まとめて設定】した方が
ファイルサイズが小さくなる傾向があります。

直感的に考えても「A1は○○,A2も○○,A3も○○,…,A100も○○」
と記憶するより「A1,A2,A3,…,A100は○○」と記憶した方が情報量が少なくなりますよね。
 ※これはあくまでイメージで、実際はそれほど単純でもないのですが…。

例えば、B1セルを =$A$1+A1 として B10セルまでフィルした場合、
「B1セルにある =$A$1+A1 という数式」も「B5セルにある =$A$1+A5 という数式」も、
「A1セルの値に左隣のセルの値を加える」という同一の式( R1C1形式で表記すればどちらも =R1C1+RC[-1] )なので、
Excelの内部的には「B1,B2,…,B10に、ある同一の数式が入力された」と認識されるようです。

ところが、置換を行うとそれぞれのセルについて数式を個別に修正(再設定)することになりますから、
"$"を"$"に置換した場合のように【数式が変化しない場合でも】
「B1セルに=$A$1+A1,B2セルに=$A$1+A2,B3セルに=$A$1+A3,…」と個別に記憶することになり、
ファイルサイズが大きくなるのだと考えられます。
------------------------------------------------------------------
例えば、私の環境(WinXP,El2003)では、

A. B1:B65536について =0+1 を Ctrl+Enter で一括入力した場合
 ⇒ファイルサイズは3.39MBです。

B. B1:B65536について =$A$1+A1 を Ctrl+Enter で一括入力した場合
 ⇒ファイルサイズはAと同様3.39MBです。

C. Bについて、"A"を"A"に置換した場合(数式はBと変わらない)
 ⇒3.75MBに増えます。

D. Bについて、"$"を""(空白)に置換した場合
 ⇒Cと同じく3.75MBになります。

E. Cについて、B1セルをダブルクリックしてフィルした場合(数式はB,Cと変わらない)
 ⇒3.39MBに戻ります。

F. Dについて、B1セルをダブルクリックしてB列の数式を書き換えた場合
 ⇒3.39MBに戻ります。
------------------------------------------------------------------
なお、この件については、以前MSのサイトで
 ・書式はまとめて設定した方がファイルサイズが…
 ・数式はCtrl+Enterやフィルで入力した方がファイル…
 ・配列数式にすればさらに…
といったトピックを読んだような記憶があるのですが、今回見つけられませんでした。

私自身は長いこと「そういうもんだ」と思ってきたのですが、
リクツの部分についてはもしかすると思い違いがあるかもしれないので、
あくまで参考程度にお考えください。

書式の場合ほどあからさまではありませんが、
数式の場合も、個別に設定するより、フィルやCtrl+Enterで【まとめて設定】した方が
ファイルサイズが小さくなる傾向があります。

直感的に考えても「A1は○○,A2も○○,A3も○○,…,A100も○○」
と記憶するより「A1,A2,A3,…,A100は○○」と記憶した方が情報量が少なくなりますよね。
 ※これはあくまでイメージで、実際はそれほど単純でもないのですが…。

例えば、B1セルを =$A$1+A1 として B10セルまでフィルした場合、
「B1セルにある =$A$1+A1 と...続きを読む

QExcel95とExcel2000でのマクロでの動作違いについて

下記のマクロをExcel95とExcel2000で動かすと結果(フォーマット)が違ってきます。
何処をどの様に修正すれば良いか教えてもらえないでしょうか。
言語の意味も出来たら教えてもらえますか。よろしくお願いします。
尚、省略している所があります。(言語は800文字以上は遅れませんので)
Sheets("印刷").Select
Dim gyo, cout, st, a, burank, st2, burank2
Dim total As Integer
Dim tt As String
cout = 1
Range("a3").Select
total = 2
Do
total = total + 1
burank = Worksheets("印刷").Cells(total, 25).Text
Loop While burank <> ""
total = total - 2
For a = 3 To total

If a = 3 Then
Range(Cells(a, 3), Cells(a, 26)).Select
With Selection.Borders(xlBottom)
.Weight = xlHairline
End With
Else

'
burank1 = Worksheets("印刷").Cells(a + 1, 2).Text
st = Worksheets("印刷").Cells(a, 1).Text
If st = "" And burank1 <> "" Then
'
Range(Cells(a, 2), Cells(a, 2)).Select
ActiveCell.Formula = "小 計"
'
With Selection
.HorizontalAlignment = xlCenter
End With
gyo = a + 1
Range(Cells(a, 1), Cells(a, 26)).Select
With Selection.Borders(xlLeft)
.Weight = xlThin
'
End With

下記のマクロをExcel95とExcel2000で動かすと結果(フォーマット)が違ってきます。
何処をどの様に修正すれば良いか教えてもらえないでしょうか。
言語の意味も出来たら教えてもらえますか。よろしくお願いします。
尚、省略している所があります。(言語は800文字以上は遅れませんので)
Sheets("印刷").Select
Dim gyo, cout, st, a, burank, st2, burank2
Dim total As Integer
Dim tt As String
cout = 1
Range("a3").Select
total = 2
Do
total = ...続きを読む

Aベストアンサー

修正漏れが1箇所?関係ないかもしれませんが追記しておきました。

  ○選択したセル範囲の下罫線を中太線(表現が正しい?)にしている。
  With Selection.Borders(xlEdgeBottom)
    .Weight = xlMedium
  End With
  ○その行のC、D列を選択して左罫線をなしにしている
  Range(Cells(a, 3), Cells(a, 4)).Select
  Selection.Borders(xlEdgeLeft).LineStyle = xlNone
  ○その行の26番目の列を選択して算式を登録している
    算式は、その行の12個左の列が正の数値で、
        1つ左のセルが0超、0.9未満なら『●』を表示する
  Range(Cells(a, 26), Cells(a, 26)).Select
  ActiveCell.FormulaR1C1 = _
     "=IF(RC[-12]>0,IF(AND(RC[-1]>0,RC[-1]<0.9),""●"",""""),"""")"
  Else
  ○1行下が未入力の場合
  If burank1 = "" Then
    ○1行下のA列から26列分選択して左罫線を細線にしている
    Range(Cells(a + 1, 1), Cells(a + 1, 26)).Select
    With Selection.Borders(xlEdgeLeft)
      .Weight = xlThin
    End With
    ○下罫線を中太線にしている
    With Selection.Borders(xlEdgeBottom)
      .Weight = xlMedium
    End With
    ○1行下のC、D列を選択して左罫線をなしにしている。<<xlLeft⇒xlEdgeLeft>>
    Range(Cells(a + 1, 3), Cells(a + 1, 4)).Select
    Selection.Borders(xlLeft).LineStyle = xlNone
    ○その行のB列を選択して『小 計』の文字をセット
    Range(Cells(a, 2), Cells(a, 2)).Select
    ActiveCell.Formula = "小 計"
    ○セットした文字をセルの中央に配置している。
    With Selection
      .HorizontalAlignment = xlHAlignCenter
    End With

    ○その行のA列から26列分を選択
    Range(Cells(a, 1), Cells(a, 26)).Select
    ○選択したセル範囲の左罫線を細線にしている。
    With Selection.Borders(xlEdgeLeft)
      .Weight = xlThin
    End With
    ○選択したセル範囲の下罫線を中太線にしている。
    With Selection.Borders(xlEdgeBottom)
      .Weight = xlMedium
    End With
    ○その行C、D列を選択して左罫線をなしにしている
    Range(Cells(a, 3), Cells(a, 4)).Select
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    ○その行の26番目の列を選択して算式を登録している。算式は同じ
    Range(Cells(a, 26), Cells(a, 26)).Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-12]>0,IF(AND(RC[-1]>=0,RC[-1]<0.9),""●"",""""),"""")"
    ○Forループの中でそれを制御する変数aを操作している。恐い!。
     本来やってはいけないはず!別の方法があるはず。
    a = a + 2
  Else
    If a = gyo Then
      Range(Cells(a, 3), Cells(a, 26)).Select
      ○下罫線を細線にしている。
      With Selection.Borders(xlEdgeBottom)
        .Weight = xlHairline
      End With
    Else
      Range(Cells(a, 1), Cells(a, 2)).Select
      Selection.ClearContents
      Range(Cells(a, 26), Cells(a, 26)).Select
      ○算式をセットしている
        算式は、その行の12個左の列が正の数値で、
         1つ左のセルが0.5以上、0.9以下なら『☆』を表示する
         1つ左のセルが0.5未満なら『★』を表示する
      ActiveCell.FormulaR1C1 = "=IF(RC[-12]>0,IF(AND(RC[-1]>=0.5,RC[-1]<=0.9),""☆"",IF(AND(RC[-1]>=0,RC[-1]<0.5),""★"","""")),"""")"
    End If
  End If
  'アンダーライン(3:26)
  Range(Cells(a, 3), Cells(a, 26)).Select
  With Selection.Borders(xlEdgeBottom)
  ○下罫線を細線にしている。
    .Weight = xlHairline
  End With
End If

End If

'アンダーライン(3:26)
Next a

○トータル行を選択
Range(Cells(total + 1, 1), Cells(total + 1, 26)).Select
With Selection.Borders(xlEdgeLeft)
  ○選択したセル範囲の左罫線を細線にしている。
  .Weight = xlThin
End With

With Selection.Borders(xlEdgeBottom)
  ○選択したセル範囲の下罫線を中太線にしている。
  .Weight = xlMedium
End With
○その行C、D列を選択して左罫線をなしにしている
Range(Cells(total + 1, 3), Cells(total + 1, 4)).Select
Selection.Borders(xlEdgeLeft).LineStyle = xlNone

○セルY3を選択して算式をセット
  算式は、N3がゼロでなかったらX3をN3で割って、小数1位で四捨五入
Range("Y3").Select
ActiveCell.Formula = "=IF(n3=0,0,ROUND(x3/n3,1))"
Range("Y3").Select
Selection.Copy
○Y3の算式をデータの25列目にコピーしている
Range(Cells(4, 25), Cells(total + 1, 25)).Select
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
○再計算している
ActiveSheet.Calculate

Range("a1").Select

※aでLoopしているForループの途中に『a = a + 2』がありますが問題なく動いてるんですよね。
 全体を通して行っていることは、不定行の小計を計算して、それを罫線付の印刷で行おうとしているように思えます。
 印刷用のシートにページ単位でデータをはきだし、小計行の罫線パターンを別に用意しておいて書式をコピーすれば簡単になりそうですね。
 表示書式や割算の算式も事前に作っておけばマクロの中で定義する必要がなくなるわけです。

修正漏れが1箇所?関係ないかもしれませんが追記しておきました。

  ○選択したセル範囲の下罫線を中太線(表現が正しい?)にしている。
  With Selection.Borders(xlEdgeBottom)
    .Weight = xlMedium
  End With
  ○その行のC、D列を選択して左罫線をなしにしている
  Range(Cells(a, 3), Cells(a, 4)).Select
  Selection.Borders(xlEdgeLeft).LineStyle = xlNone
  ○その行の26番目の列を選択して算式を登録している
    算式は、その行の12個左の列が正の数値で、
 ...続きを読む

QExcel95とExcel2000の混在使用について

Excel95とExcel2000の混在使用についての弊害を教えて下さい。
又、Excel95、Excel2000の順でインストールした場合、通常.xlsの拡張子のファイルを開いた場合、どちらが開くのでしょうか?
同じく上記の順でインスト-ルした環境でExcel95マクロで作成された物は
正常動作(Excel95で)するのでしょうか?
又、上記に関するURLを教えて下さい。
OS:Windows98です。

Aベストアンサー

.xlsという拡張子が後でインストールされたExcel2000に割り当てられるのでExcel2000が立ち上がるはずです。後発のものは同じVBAでもバグフィックスが進んでいるためマクロの動作が違う場合もあるようです。(URL参照)

参考URL:http://support.microsoft.com/default.aspx?scid=kb;ja;180098&Product=officeJPN


このカテゴリの人気Q&Aランキング

おすすめ情報