次の方法で共有

Accessでエクセルをインポートする場合に、シートのインデックス番号でシートを指定することができますか?

Anonymous
2011-10-21T05:22:59+00:00

こんにちは。

DoCmd.TransferSpreadsheetを使用して、エクセルファイルをインポートしたいのですが、

シート名が同じではないため、シート名でシート指定ができません。

必ず2番目のシートなので、インデックス番号で指定ができればと思うのですが、それは可能ですか?

ご教授頂けたらありがたいです!

よろしくお願い致します。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-10-21T14:20:49+00:00

こんばんは。MukkuMukuです。

シート名を列挙するコードです。

Sub SheetNameEnum()

    Dim db As DAO.Database

    Set db = OpenDatabase("Target_xlsx_FullPath", False, True, "Excel 12.0;")

    Dim i As Long

    For i = 0 To db.TableDefs.Count - 1

        Debug.Print db.TableDefs(i).Name

    Next

End Sub

きっちり検証はしてないけど、シート順に列挙されるんじゃないかな。

もしくは、TransferSpreadsheet使わないでオートメーションで開いてデータを読み込むって感じでしょうか。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-10-24T00:42:10+00:00

    MukkuMukuさん

    いつもいつもありがとうございます。

    今回、2番目のシートと決まっているので、

    繰り返しの部分を

    myShName = db.TableDefs(1).Name

    と変数に入れてあげて、

                DoCmd.TransferSpreadsheet acImport, 8, _

                    strac, myPath, True, myShName

    としたら期待通りの動作となりました。

    色々検索してみても、シート名が決まっていないので、引数としてうまく設定できないとい質問は多いので、これはとっても使えると思います!

    インデックス番号が分からない場合に、シート名を列挙して、そこから選択させるということもできそうですね~!

    ありがとうございました!

    この回答は役に立ちましたか?

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Anonymous
    2011-10-24T00:38:15+00:00

    北上さん、

    アドバイスありがとうございます。

    ただ、エクセル側での処理が必要なら、

    普通にメニューからインポートで開いても工数は変わらないかな・・・と。

    シート名よりもインデックス番号の方が、引数としては使い勝手が良いのではないかと思います。

    将来のバージョンでの機能追加を期待します!

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2011-10-21T09:40:17+00:00

    Ichigo1515 さん、こんにちは。

    Answers への投稿、ありがとうございます。

    DoCmd.TransferSpreadsheet を使用して、Excel ファイルの 2 番目のシートにあるテーブルをインポートしたいということですね。

    シートの指定ではありませんが、次のページを参考に、「Table Name/テーブル名」の引数を使用し、テーブル名を指定してみてはどうでしょうか。

    TransferSpreadsheet マクロ アクション

    http://office.microsoft.com/ja-jp/access-help/HA001226308.aspx

    また、もし Excel のテーブル名を変更する必要があるときは、次のページを参考にすると良いかもしれません。

    Excel のテーブルの名前を変更する

    http://office.microsoft.com/ja-jp/excel-help/HA010223129.aspx

    Ichigo1515 さんからの返信、お待ちしております。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません