• ベストアンサー

CSVファイルの読み書きについて

みなさん、こんにちわ。 AというファイルからVBAを使ってデーターをCSV形式で書きだして、Bというファイルでその書き出したCSV形式のファイルを読み込んで、とある表を作成しています。 Bというファイルでの処理を外部に委託した時に、Aから書き出したCSV形式のファイルには、すべてのデーターが表示されていますので出来るなら見れないようにしたいと考えています。 Bファイルでの処理はあくまでも書き出したCSV形式のファイルを読み込むだけで、そのCSVファイルを見れないようにすることは出来ないのでしょうか? 暗号化・パスワード化はたまた別の方法どちらでもいいのですが、CSVファイルの中身がわからないようにし読み込みは今まで通りできればありがたいです。 勉強不足で誠に申し訳ないですが、どういった方法があるのか、どうすればいいのか教えて頂ければ有難いです。 よろしくお願いします。

noname#63196
noname#63196

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

> Bというファイルでの処理を外部に委託した時に、Aから書き出したCSV形式のファイルには、すべてのデーターが表示されていますので出来るなら見れないようにしたいと考えています。 よく理解できないのですが、 Bファイルでの処理にCSVのすべてのデータが必要なのですか? もしそうでないなら、見られてこまる部分は削除して渡すとか・・・。 あるいはBファイルでの処理がどの程度のものかわかりませんが、自動化を高めて外部委託そのものを止めるとか。 ところで 質問No.4130834の方はどうなったのでしょう?

その他の回答 (2)

回答No.2

>CSVファイルの中身がわからないようにし読み込みは今まで通りできればありがたいです 無理です。 そもそもCSVファイルは所詮テキストファイルなので、見ようと思えば テキストエディタでいくらでも中身が見えます。 暗号化したとしても、結局アプリケーションで処理する段階では、普通は 暗号を解くはずなので、その時点の情報をアプリケーションから閲覧されれば (例えば暗号を解いたデータをテキストに吐くとかしてしまえば) 全く意味がありません。 素直にテストデータを渡しましょう。

noname#140971
noname#140971
回答No.1

[イミディエイト] ? Xp("This is as book.", 11) _st~+t~+l~+mzzv. ? Xp("_st~+t~+l~+mzzv.", -11) This is as book. 各種パスワード等を記述しているiniファイルはXp関数でかように変換しています。 Public Function XP(ByVal strText As String, ByVal intXfer As Integer) As String   Dim J    As Integer   Dim L    As Integer   Dim strXfer As String   L = Len(strText) - 1   For J = 1 To L     strXfer = strXfer & Chr$(Asc(Mid$(strText, J, 1)) + intXfer)   Next J   XP = strXfer & Right$(strText, 1) End Function 単純な仕掛けですが、結構、解読不能みたいです。 >Bというファイルでの処理を外部に委託した時に・・・。 ただし、こういう場合はテストデータを渡すのが常道でしょう。

noname#63196
質問者

お礼

Husky2007さん早々のご回答ありがとうございます。 大変厚かましく申し訳ありませんが、初心ですので詳しく教えて頂けないでしょうか? 宜しくお願い致します。

関連するQ&A

  • Access2000のCSVファイルのインポートについて

    Access2000でCSVファイルをインポートしようと思っています。 インポート方法は、VBAで 「DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名"」を使用しています。 この時に、CSVファイルが次のようなデータです。 F1,F2,F3 0010,0200,0001A12 0011,0201,0021B12 (実際は、1000件近いデータです) これをインポートすると、 F1,F2,F3 10,200,1A12 11,201,21B12 となってしまいます。 頭の「0」を省きたくないのです。 文字列として取り込めないでしょうか? CSVのデータに""を自動でつける方法はないでしょうか? Accessの外部データの取り込みを使うと、文字列として指定できるのですが、VBAを使いワンクリックでデータを取り込もうとしています。 よろしくお願いします。

  • CSVファイルを手で開いた後VBAを動かしたい

    すみませんが教えてください Excel VBAで、SaveしてあるCSVファイルを開くのは良く見ます でも、この方法ではなくて、あるシステムから切り出してきたCSVファイル を開いた状態からVBAを動かすにはどうしたらよいでしょうか? 理由は、どうも日付データがSaveしてしまうと消えてしまうようで、 (システムから切り出したCSV・・・2013-01-06 00:00:00) (SaveしたCSVを読み出すと・・・0000-00-00 00:00:00) このためSaveしたCSVファイルを開いてVBAを動かすことができません Excel形式にしてSaveしても同様です 何かもっと良い方法がありますか?

  • CSVファイルの指定部分をエクセルに取り込みたい

    複数のCSVファイルをエクセルに、VBAを使用して取り込みます。 CSVファイルの形式は決まっているのですが、キーワード行から指定行分のみを取り込みたいです。 データ形式は、 A1 aaa bbb ccc B1 aaa bbb ccc C1 aaa bbb ccc A1 a1a b1b c1c  :  : という感じで、キーワードA1行以下から次のキーワードより上のデータをエクセルに取り込みたいです。 どうぞよろしくお願いいたします。

  • Excel VBAにてCSVファイルを読みたい

    ExcelにてCSVファイルを読んで処理をしたい。 ただし、CSVファイルをExcelでopenすると遅いので、 VBAにてファイルとして読み込みで処理をしたいのですが、 皆さんは、どのように行っていますか? ※CSVファイルは、テキスト区切り→"(ダブルコーテーション)です  テキスト区切り無しであれば、1行読んで、カンマをsplitすれば良いと思いますが。。。。

  • CSVファイルの処理方法

    PerlでCSVファイルの処理をしようとしています。 CSVファイル(ここではdata1.csvとします)の中身は、A列とB列に数値が1000行程表記されています。 -5,1 -4,2 -3,3  ・  ・  ・ 作成したPerlのファイル(ここではtest1.plとします)下のようにし、 while ($_=<stdin>){ print"$_\n"; } Cygwinコマンド上で、 $ perl test1.pl <data1.csv と入力すると、CSVファイル(data1.csv)の数値がCygwinコマンド上に全て表記されます。 前置きが長かったのですが、CSVファイル(data1.csv)の3行目までの数値だけをCygwinコマンド上に表記したい場合、どのようにプログラムすればよいのですか。 お願いします。

    • ベストアンサー
    • Perl
  • 複数のCSVファイルからのデータ取得(VBA)

    エクセルVBAで、エクセルの指定シートに複数のCSVファイルからデータを取得する方法を ご教授お願います。 エクセルの指定シートの指定されたセルに、複数のCSVファイルから指定箇所のデータを 取得し転送する方法を考えていますが、どうもうまくいきません。 たとえば、 CSVファイル(1) A5(A)           A10(B) CSVファイル(2) A5(C)           A10(D)      CSVファイル(3) A5(E)           A10(F)         ・      ・      ・ と、指定されたセルからデータを取得し、 エクセルの指定シートの表に                    CSVファイル                                 (1)  (2)  (3) ・ ・ ・ ------------------------------------------- A5から取得したデータ    A   C   E ・ ・ ・ A10から取得したデータ    B   D   F ・ ・ ・ ------------------------------------------- と、いうように転送して貼り付けていきたいです。 いろいろ調べてみたのですが、このような方法が見つけられませんでした。 ぜひ、皆様のお知恵をお貸しください。 宜しくお願い致します。

  • VBAでCSVファイルをインポートする方法について

    VBAでCSVファイルをインポートする方法について OS:ウィンドウズXP Access Version:2000 AccessVBAでcsvファイルをインポートするマクロを作っています。 現在、インポート定義を利用して、データ型を指定したインポートができているのですが、1点だけ問題があり、質問します。 インポートするcsvファイルのA列にIDが入力されています。 そのA列の末尾に、ID(数値型)ではない「<b>32</b><br />」という値が入っています。 Accessのテーブルでは、このIDのフィールドは数値型で管理している為、この1レコードだけ エラーとなり、エラーテーブルが作られ、また、インポート先のテーブルには空のレコードができてしまいます。 この末尾の行については、IDではない「<b>32</b><br />」以外は何もデータが入っていない為、 インポートする必要がありません。 もし可能であれば、csvファイルのA列(Accessテーブルでは数値型のIDというフィールド)が数値ではない場合、 その行のインポートをスキップするような処理がVBAで作成できるとよいのですが、可能でしたら教えてもらえないでしょうか。 ※以下はVBAを作成する為に仮に用意し、読込を行っているcsvファイルと、VBAソースになります。 ○csvファイル名:インポート用csvファイル.csv 内容: ID,テキスト1,テキスト2,テキスト3,テキスト4,メモ1,メモ2, 1,a,A,z,Z,あ,ん, 2,b,B,y,Y,い,を, 3,c,C,x,X,う,わ, 4,d,D,w,W,え,ろ, 5,e,E,v,V,お,れ, 6,f,F,u,U,か,る, 7,g,G,t,T,き,り, 8,h,H,s,S,く,ら, 9,i,I,r,R,け,よ, 10,j,J,q,Q,こ,ゆ, <b>32</b><br />,,,,,, ○VBAソース Dim FN As String Dim Res As Integer WizHook.Key = 51488399 Res = WizHook.GetFileName(0, "", "", "", FN, "", _ "csvファイル(*.csv)|*.csv", 0, 0, 4, True) WizHook.Key = 0 If Res = 0 Then DoCmd.TransferText , "csvインポート定義", "インポートテーブル", FN MsgBox "csvファイルをインポートしました", vbOKOnly End If

  • csvファイルの読み込みができません。

    csvファイルの読み込みができません。 過去にExcelで作成したデータをcsvに変換するマクロを作ってもらいました。 (Excel表の中にマクロを登録したボタンがあって、それをクリックするとcsvファイルが作成される) そのcsvファイルをそのまま使用すると、読み込みができますが、一旦csvファイルを開いて一部データの変更をして保存すると読み込みができなくなります。 また、自動にファイル名が設定されるので、わかりやすいようにファイル名を変更しただけでも読み込みができなくなります。 csvファイルにも種類があるんでしょうか?

  • 大容量のファイル処理(csv or xml?)

    大容量のファイルの処理(csv形式、xml形式どちらが適切でしょうか?) 商品のアクセス件数を分析する仕組み(ツール)を提案したいのですが、 肝心のアクセス件数結果が出力されるファイルが膨大な場合が多くどのように処理すればいいか 途方にくれています。 結果ファイルの中身は「どのユーザーが何時何分に何にアクセスした」 という結果が一行一行出力されています。 ユーザーA 12:00 商品A ユーザーB 12:22 商品C ・ ・ ・ といった様相です。 *結果ファイルはcsvファイル、またはxmlファイルで出力できます。 一日程度の結果であればcsvファイルをエクセル2007で開き自力で色々といじることが できるのですが、数日~数か月におよぶとデータ行が膨大になりエクセルの最大行数1048576を 簡単に超えてしまい処理に困っています。 当初はエクセルマクロを使い分析ツールを依頼しようと考えていたのですが、すぐにこのデータ量で 素人目にも難しいとわかりました。 このような大きなファイルの中身の分析はxmlファイルの方が 分析ツールを作成する側としても処理(ファイルの取り込みや中身のソートなど)しやすいものなのでしょうか? なにぶん浅学なため、今まで使っていたエクセルでどうにかこうにかしてきたのですが、 流石に限界なのかと感じています。 どなたかご助言いただけますと、幸いです。よろしくお願いいたします。

  • excel vbaで複数のcsvファイルの読み込み

    100シート分のcsvファイルのデーターを一つずつ読み込んでexcelにコピーして使用してますが莫大な時間がかかって困ってます。 vbaを使用して作業を簡素化出来る事は出来ないでしょうか? ------------------------------------------ ※ csvの概要 excelで1枚のcsvファイルを開くとA列の11行目から65536行まで数値データがあります。 ※ vbaできたらよいなと思う仕様 そこで、複数のcsvファイルを選択して読み込むとCSV_データと言うSeetのA列の10行目から1枚目のcsvファイル、B列の10行目から2枚目のcsvファイルと言う風に選択した分のcsvを列に続けて数値データを貼り付けしてくれるvbaをご教授していただけると大変助かります。 不躾で申し訳ございませんが宜しくお願い致します。 excel2003 ------------------------------------------

専門家に質問してみよう