スポンサードリンク
スポンサードリンク
キーワードに合ったホームページを自動的に作っちゃおうツール
キーワードに合ったホームページを自動的に作っちゃおうツール
最新版のダウンロードはこちら↓
EXCEL版
BlogHPEditTool.exe
※実行ファイル版を作成中の為、
今後、修正やバージョンアップはありません。m(__)m
キーワードに合ったホームページを自動的に作っちゃおうツール
EXCEL VBAカテゴリの記事一覧
セルの入力規則
ツールの開発で、テンプレートを使ってのホームページ作成をするんだけど、
サイトごとの設定にテンプレート選択箇所を作成したい。
つーことで、セルにリスト選択を適応
えー。。。
どーすんだ?。。。(汗
初心者にわかるか!。。。って事でいろいろ検索
まずは、やりたいこと
テンプレートフォルダを設定して、
その中のフォルダ一つがテンプレートのかたまりという設定
で、テンプレートフォルダ内のフォルダを一覧表示したいんですな(^^;
はっ!。。。
取得したフォルダ名を配列にセットして、リストとしてセルに設定するやり方がわからん。。。
一旦セルに書き出して、そこからセルに入力規則でもって、リストには出来るので、そのやり方でやる
わからんが、とりあえずやる!(笑
Microsoft Scripting Runtime を使ってます。
「ツール」→「マクロ」→「Visual Basic Editor」を起動して
「ツール」→「参照設定」より「Microsoft Scripting Runtime」の項目にチェックを入れてOKボタンを押してくさい
'テンプレートリスト設定
'ファイルシステムオブジェクト生成
Dim FSO As New FileSystemObject
Set FSO = New FileSystemObject
Dim myFolders As Folder
Dim myFolder As Folder
Dim i As Long
Dim strReadFolder As String 'テンプレートフォルダパス
strReadFolder = ThisWorkbook.Path & "\" & HTML_TPL_FOLDER
'ThisWorkbook.Path EXCELファイルがあるフォルダパスの取得
'HTML_TPL_FOLDER テンプレートがあるフォルダ名(変数)
Set myFolders = FSO.GetFolder(strReadFolder) 'テンプレートフォルダ内を取得
For Each myFolder In myFolders.SubFolders
'テンプレートフォルダパス内のフォルダ名をセルに入れる
Cells(2 + i, 1) = myFolder.Name
i = i + 1
Next
Set FSO = Nothing
これを実行すると
こんな感じのセルが出来上がる
で、このセルを
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (Target.Column = リストを入れたいセルの列) And _
(Target.Row > HP設定開始行 - 1) Then
If (Target.Columns.Count = 1) And _
(Target.Rows.Count = 1) Then
With Selection.Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
'先ほど出力したセルの場所を参照
Formula1:="=INDIRECT(""検索設定!R2C1:R" & _
.Cells(1, 1).End(xlDown).Row & _
"C1"",FALSE)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
End If
End If
End Sub
こんな感じにHP設定を行うシートに設定するとめでたくセルを選択した瞬間リストが生成されます。
ふぅ。。。
とりあえずこれでいいかぁ。。。
あとは、ホームページの作成時にフォルダ名を取得して、その中のテンプレートを読込んで、ゴニョゴニョすればホームページの出来上がり〜(^^)ニコ
サイトごとの設定にテンプレート選択箇所を作成したい。
つーことで、セルにリスト選択を適応
えー。。。
どーすんだ?。。。(汗
初心者にわかるか!。。。って事でいろいろ検索
まずは、やりたいこと
テンプレートフォルダを設定して、
その中のフォルダ一つがテンプレートのかたまりという設定
で、テンプレートフォルダ内のフォルダを一覧表示したいんですな(^^;
はっ!。。。
取得したフォルダ名を配列にセットして、リストとしてセルに設定するやり方がわからん。。。
一旦セルに書き出して、そこからセルに入力規則でもって、リストには出来るので、そのやり方でやる
わからんが、とりあえずやる!(笑
Microsoft Scripting Runtime を使ってます。
「ツール」→「マクロ」→「Visual Basic Editor」を起動して
「ツール」→「参照設定」より「Microsoft Scripting Runtime」の項目にチェックを入れてOKボタンを押してくさい
'テンプレートリスト設定
'ファイルシステムオブジェクト生成
Dim FSO As New FileSystemObject
Set FSO = New FileSystemObject
Dim myFolders As Folder
Dim myFolder As Folder
Dim i As Long
Dim strReadFolder As String 'テンプレートフォルダパス
strReadFolder = ThisWorkbook.Path & "\" & HTML_TPL_FOLDER
'ThisWorkbook.Path EXCELファイルがあるフォルダパスの取得
'HTML_TPL_FOLDER テンプレートがあるフォルダ名(変数)
Set myFolders = FSO.GetFolder(strReadFolder) 'テンプレートフォルダ内を取得
For Each myFolder In myFolders.SubFolders
'テンプレートフォルダパス内のフォルダ名をセルに入れる
Cells(2 + i, 1) = myFolder.Name
i = i + 1
Next
Set FSO = Nothing
これを実行すると
A | |
1 | テンプレートフォルダ名 |
2 | テンプレート1 |
3 | テンプレート2 |
4 | テンプレート3 |
こんな感じのセルが出来上がる
で、このセルを
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (Target.Column = リストを入れたいセルの列) And _
(Target.Row > HP設定開始行 - 1) Then
If (Target.Columns.Count = 1) And _
(Target.Rows.Count = 1) Then
With Selection.Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, _
'先ほど出力したセルの場所を参照
Formula1:="=INDIRECT(""検索設定!R2C1:R" & _
.Cells(1, 1).End(xlDown).Row & _
"C1"",FALSE)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
End If
End If
End Sub
こんな感じにHP設定を行うシートに設定するとめでたくセルを選択した瞬間リストが生成されます。
ふぅ。。。
とりあえずこれでいいかぁ。。。
あとは、ホームページの作成時にフォルダ名を取得して、その中のテンプレートを読込んで、ゴニョゴニョすればホームページの出来上がり〜(^^)ニコ
キーワードに合ったホームページを自動的に作っちゃおうツール
キーワードに合ったホームページを自動的に作っちゃおうツール
最新版のダウンロードはこちら↓
EXCEL版
BlogHPEditTool.exe
※実行ファイル版を作成中の為、
今後、修正やバージョンアップはありません。m(__)m
キーワードに合ったホームページを自動的に作っちゃおうツール