アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excel2010 VBAを使っています。


ファイルAに
AAA
BBBB
CCCCC
DD
・・・
というように50行程度に渡って文字列が書かれています。

この文字列をファイルB(これも同じく文字列が書かれています)と合体させるプログラムを作っています。
このプログラムをほかのPCでも使用したいのですが、
xlsmファイルとともにファイルAも同時にコピーする必要があり不便です。

ファイルAの内容を標準モジュールの中に保存したいのですが
どのようにすれば良いでしょうか?

dim a(50)

a(0) = "AAA"
a(1) = "BBBB"
a(2) = "CCCCC"
a(3) = "DD"
・・・
というように配列として保存しておけば、これができるのですが、
いちいち、ダブルクオテーションマークでくくって
上記のようなコードを書くのが面倒です。

例えば、
a = "AAA
BBBB
CCCCC
DD
・・・"


のように複数行に渡る文字列を変数として用いたいのですが
このようなことは可能でしょうか?

A 回答 (2件)

案1:No1さんの書いたようにシートにデータを入れて、そのシートを非表示にしておく。



案2:a(0) = "AAA"のようなプログラムを生成する。
VBAで書いてもいいし、バッチ処理でやるなら、下記のBATファイルを実行して出力ファイル内容をコピペ。

@echo off
set N=0
(for /f "delims= eol=" %%A in (データの入ったファイル名) do call :sub "%%~A") >出力ファイル.txt
goto :EOF
:sub
echo A^(%N%^)=%1
set /a N+=1
goto :EOF
    • good
    • 0

Sheet1のセルA1~A50にデータが入力されているとして、




dim a(50) as String
Worksheets("Sheet1").Select

For i=1 to 50
a(i)=Cells(i,1).value
Next


で、標準モジュール内に配列変数として格納できます。
    • good
    • 0

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

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


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