Private Sub コマンド1_Ckick()
If リスト = "1"Then
DoCmd. TransferSpreadsheet acExport_
, , "クエリ1","MicrosoftExcel(*.xlxs)"
ElseIf リスト = "2"Then
DoCmd. TransferSpreadsheet acExport_
, , "クエリ2","MicrosoftExcel(*.xlxs)"
End If
End Sub
------------
リスト(1 Or 2)を選択後、コマンド1をクリックすると、
リストの選択に合わせてクエリをエクセル出力したいです。
行数が10万行と多い為、
行数制限があるマクロビルダーの「書式を保持してエクスポート」を使わず
XLXS形式で出力したいです。
しかし、上のVBAを実行したところ、
「データベースまたはオブジェクトは読み取り専用なので更新できません」
というエラーが出てしまいます。
どこを訂正すればよいのかわからず困っています。
どうかご教授の程、よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
色々とおかしいです。
TransferSpreadSheet メソッドのヘルプを読んでみてください。
DoCmd.TransferSpreadsheet acExport _
, spreadsheettype:=acSpreadsheetTypeExcel12Xml _
, tablename:="クエリ2" _
, FileName:="c:\hoya\hoya.xlsx" _
, hasfieldnames:=True
のような感じになります。
(パラメータの名前部分 例:spreadsheettyep:= などは分かりやすくするために付けたので
無くても構いません)
あと、投稿の際に質問欄にべた書きしたためかもしれませんが、
行継続文字 _ の前には半角スペースが必要です。
エクセルの拡張子もxlsxです。
※実行する前に、メニュー→デバッグ→○×のコンパイルを行ってエラーが出ないことを
確認してください。
※変数『リスト』はテキスト型ですよね?
具体的に教えていただき、本当にお手数をお掛け致しました。
>※実行する前に、メニュー→デバッグ→○×のコンパイルを行ってエラーが出ないことを
確認してください。
提示していただいた例を参考に修正し、動作することを確認しました。
○×コンパイルを使ったことがなかったので、
こんな便利なものを教えていただき、感謝しております。
>※変数『リスト』はテキスト型ですよね?
テキスト型です。
教えていただいた例で問題ありませんでした。
回答者No.1さんも、そもそもちゃんと指定できていない点を指摘いただきましたが、
より詳しく書いていただいたNo.2さんをベストアンサーとします。
至らない事ばかりなのにも関わらず、この度は丁寧に教えていただきましてありがとうございました。
No.1
- 回答日時:
> , , "クエリ1","MicrosoftExcel(*.xlxs)"
クエリの次は何を意図しているのですか?
Exportするファイル名を書くはずなんですが。
出力するファイルを指定すべきところに、ワイルドカードを書いちゃダメです。
さらに(*.xlxs)は(*.xlsx)の間違いでしょうね。
"C:\20130718\Export1.xlsx"のように書いてください。
elseのクエリ2についても。
ご回答いただきありがとうございます。
そもそも誤りが多すぎました・・・。
色々な点をご指摘いただき、感謝しております。
修正し、エラーが出ないことを確認しました。
この度はありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
DOSコマンドで、標準出力を出力...
-
Perlでファイルの末尾から指定...
-
log2の「正確な」計算方法
-
batファイルでrenameができませ...
-
エラー 'dir.h' : No such fi...
-
HTMLのフォームで画像と文...
-
ExcelをCSV書き出す場合のシー...
-
Perlの変数に文字数制限(容量...
-
readdir()で得られるファイル・...
-
ファイル全てを .xlsm に変更し...
-
while(<ハンドラ>) {} で行数を...
-
パスから最後のディレクトリだ...
-
テキストデータから指定した1...
-
一定時間が経過したフォルダの削除
-
htaccessで特定のディレクトリ...
-
ReadLineでの読み出し行を指定する
-
1行がやたら長いテキストをバッ...
-
while文がうまく動かない
-
chdirがうまくできない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
awkスクリプトでダブルクォーテ...
-
DOSコマンドで、標準出力を出力...
-
エクセルVBAで素数だけを出力す...
-
教えて!perlから.exeファイル...
-
sprintfについて
-
Perlでファイルの末尾から指定...
-
CGIから外部コマンド実行時の標...
-
重複するデータを抽出できる秀...
-
ファイル出力の改行コードをLFに
-
timeコマンドの結果をテキスト...
-
sprintfで10進数を桁数指定で16...
-
log2の「正確な」計算方法
-
機器のI/OをArduinoでSDに記録...
-
Perl<->Oracle間での文字化けに...
-
Perl中で teeを使っても戻り値...
-
テキストファイルから日本語部...
-
バッチファイルで、記号を含む...
-
htmlから、ファイル、もしくはC...
-
perlでの出力先設定
-
標準エラーと標準出力をファイ...
おすすめ情報