ここから本文です

Excel VBAについて教えてください。 CREATE文を生成するためにマクロを作成しま...

アバター

ID非公開さん

2018/1/1615:57:50

Excel VBAについて教えてください。

CREATE文を生成するためにマクロを作成しました。
既にあるファイルに上書きではなく、名前を付けて保存したいのですがやり方がわからず困っています。

どなた教えてください。
宜しくお願い致します。

マクロはこんな感じです。

Sub curieit()
Dim TB As String 'テーブル名称(英語)
Dim a(1000) As String '物理名(英語)
Dim b(1000) As String 'データ型
Dim c(1000) As String 'キー
Dim d(1000) As String 'UNIQUE
Dim e(1000) As String 'デフォルト
Dim f(1000) As String 'Not Null
Dim strFileName As String '出力ファイル
Dim intFileNo As Integer

TB = ActiveSheet.Cells(11, 9).Value
strFileName = "E:\進級制作\新\INSERT文 サンプル.xlsm" & TB & ".sql"
intFileNo = FreeFile

'項目数を確認
j = 14
Do
j = j + 1
If IsEmpty(ActiveSheet.Cells(j, 8).Value) Then Exit Do
Loop

'ファイル出力
Open "E:\進級制作\新\test.txt" For Output As #intFileNo
Print #intFileNo, "create table "; TB; " ("

'項目1からn-1まで出力(n=最終行)
For i = 15 To j - 2
a(i) = ActiveSheet.Cells(i, 8).Value
b(i) = ActiveSheet.Cells(i, 9).Value
c(i) = ActiveSheet.Cells(i, 11).Value
d(i) = ActiveSheet.Cells(i, 12).Value
e(i) = ActiveSheet.Cells(i, 13).Value
f(i) = ActiveSheet.Cells(i, 14).Value
If c(i) = "FK" Then

End If

If d(i) = "Yes" Then
End If

If e(i) = "'0'" Then
End If

If f(i) = "Yes" Then

End If
Print #intFileNo, a(i); " "; b(i); " "; c(i); " "; d(i); " "; e(i); " "; f(i); ","

Next

'項目最終行出力(n=最終行)
a(i) = ActiveSheet.Cells(j - 1, 8).Value
b(i) = ActiveSheet.Cells(j - 1, 9).Value
c(i) = ActiveSheet.Cells(j - 1, 11).Value
d(i) = ActiveSheet.Cells(j - 1, 12).Value
e(i) = ActiveSheet.Cells(i - 1, 13).Value
f(i) = ActiveSheet.Cells(i - 1, 14).Value
If c(i) = "FK" Then
End If

If d(i) = "'0'" Then

End If

If f(i) = "Yes" Then
End If

Print #intFileNo, a(i); " "; b(i); " "; c(i); d(i); " "; e(i); " "; f(i);
Print #intFileNo, vbNewLine; ") type=InnoDB;"

Close intFileNo
End Sub

閲覧数:
39
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

2018/1/2216:16:25

下記は”ファイルを開く”と表現されていますが、ファイル名の取得ができると思います。


3種類の[ファイルを開く]ダイアログボックス
http://officetanaka.net/excel/vba/tips/tips154.htm

この質問は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。