
No.2ベストアンサー
- 回答日時:
<Ex_Sekyusho.ini>
3,3,A商品
4,3,1200
4,4,12
私は、Access の請求書データベースから上述のようなテキストファイルを送出して請求書.xlsで整形しています。
Excel側では、この[行,列,データ]形式のデータを、 Auto_Open() で呼び込んで表示しています。
ユーザが、Access からの送出と請求書.xlsの表示とを非連続的に行えるところがミソです。
Public Sub Auto_Open()
Dim I As Integer
Dim N As Integer
Dim rowIndex As Integer
Dim colIndex As Integer
Dim colValue As String
Dim strDatas() As String
strDatas() = FileReadArray("C:\Temp\Ex_Sekyusho.ini")
N = UBound(strDatas())
For I = 0 To N
If CharCount(strDatas(I), ",") = 2 Then
rowIndex = CutStr(strDatas(I), ",", 1)
colIndex = CutStr(strDatas(I), ",", 2)
colValue = CutStr(strDatas(I), ",", 3)
Worksheets("Sheet1").Cells(rowIndex, colIndex) = colValue
End If
Next I
End Sub
次は、実際に請求書.xlsに表示させた結果です。
[C]
1
2
3 A商品
4 1200
5 12
まあ、AutoOpen() 自体は、読んだら判る簡単なものです。
ただ、FileReadArray()、CharCount()、CutStr() に相当する関数ライブラリの有無が問題です。
ファイルを読む込んでいますので Microsoft Scripring Runtime を参照設定に加える必要もあります。
なお、<Ex_Sekyusho.ini>を作成し書き出すには、
FileWrite "3,3,A商品" & vbCrLf & _
"4,3,1200" & vbCrLf & _
"4,4,12"
と FileWrite() を使用しています。
Public Function CharCount(ByVal Text As String, ByVal C As String) As Integer
CharCount = Len(Text) - Len(Replace(Text, C, ""))
End Function
長くなるのでその他の関数の詳細は割愛します。
OKWave の過去の回答を参照していただけば、全て、近々に紹介していると思います。
No.3
- 回答日時:
できますが、かなり高度なVBAの知識が必要となります。
1.対象となるワークブックのフルパス取得
2.出力したい値を含むレコードセットの作成。
3.Excelインスタンスの起動
4.出力先シートの指定
5.各項目の値の取得
6.出力先セルの指定
7.各値の代入
8.ワークブックの保存
9.Excelインスタンスの終了
ざっくりと考えただけでも上記手順を踏む必要があるでしょう。
これに加えエラー発生時の処理なども考慮しなければならないので、かなりVBAに精通していないと難しいと思います。
下記サイトで検索条件に「Excel」と入力して検索すれば、参考になるVBAスクリプトが見つかるかもしれません。
http://www2.moug.net/bbs/acm_v/
Excelインスタンスの終了をミスるとバッグランドで起動したままになり、そのブックが修正できなくなります(他の人が使用中で開けませんというメッセージが出て操作ができなくなります。)。
私もよくAccessでExcelに出力後、項目のフォントを変えたり、出力時の条件を1行目に記載したりと、出力後のExcelファイルの操作をAccess側からやりますが、思い通りにやるにはかなりのVBAスクリプトを書かなければなりません。(ちなみに10年以上ACCESSを使って開発しています)
No.1
- 回答日時:
>・一旦データビュー形式で出力し、excelのマクロでコピペする?
データビューで表示してやる必要はありません
コピペよりももっと便利なオフィスリンクでExcelにテーブルやクエリを出力できます
>・accessから出力先のexcelのセルを指定する?
これはできません
新しいシートとしてエクスポートされます
ExcelのほうからAccessのクエリを指定して
>単純にエクスポートしたようなデータビューの形式
で取り込み
そのデータを元にExcelのほうで報告書を作成するのがいいんじゃないですか
この回答への補足
ご回答ありがとうございます。
>オフィスリンク…
について、もう少しご教授いただけますか?
初耳なものでして(ググってもわかりませんでした)
よろしければ参考URLなど、お願できますでしょうか?
>ExcelのほうからAccessのクエリを指定して…
これは、まずexcelを起動させる必要があるわけですね?
作業を単純化させたいので、どうにかaccessだけを始点にしたシステムを作りたいと思っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- Visual Basic(VBA) VBAでPowerPointからExcelにレイアウト通りに出力する 4 2023/07/05 12:22
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Excel(エクセル) Excelについて Excel初心者です。 日報に数字を入力する時、誤った数字を入れると、セルが赤く 6 2023/03/31 17:05
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
プリンタ出力
-
プログラムについての質問です...
-
Windows Formアプリからコンソ...
-
4Kの外部モニターに出力すると...
-
帳票ツールを使わずに帳票出力...
-
C#でアクセス権限の取得方法が...
-
PD充電器について
-
Accessのテーブルからcsv出力す...
-
CRC16計算について
-
ログ出力でミリ秒まで出したい...
-
COBOLのMOVEで桁数が異なる場合
-
FLEXSOLARパネルからAmazonで買...
-
真空管 300 B の前段について
-
スマホ充電器購入にあたり
-
C言語の標準関数の引数の順番に...
-
cout と cerrの違い
-
【UWSC】WEBページ中の特定文字...
-
KEYENCEのシーケンスプログラム...
-
ACCESS フォームで選択したレコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
プログラムについての質問です...
-
PD充電器について
-
cout と cerrの違い
-
スマホ充電器購入にあたり
-
Accessのテーブルからcsv出力す...
-
MMDでavi出力が出来ない
-
printfとputcharの違いは
-
VBAのExecメソッドで画面を非表...
-
TV出力ポートをOFFにすれば良い...
-
COBOLのMOVEで桁数が異なる場合
-
VBAでテキスト出力時のスペース...
-
ACCESS クエリ→フォーム...
-
coutで出力した文字を消去する...
-
4種類(A4縦、A4横、A3縦、A3横)のヘ...
-
Windows Formアプリからコンソ...
-
コンセントの電力は入力と出力...
-
C#でアクセス権限の取得方法が...
-
【VBA】PDFを2in1で出力したいです
おすすめ情報