Q
は、シート名
3
A
答えて
7
を使用することができます信じていますあなたは無効なもののために有効な文字列のためのTrue
、False
を返すために、以下のようなregexp :)
何かを使用して、すでに述べています。
上記の項目を追加しました。必要に応じて特殊文字をエスケープしています。
[更新:追加の置換機能]
Sub TestCleanNames()
Dim StrArr()
Dim StrTst
StrArr = Array("Am i ok", "Sheet||a", "audited??", "Sheet1")
For Each StrTst In StrArr
MsgBox StrTst & " = " & ValidSheetName(CStr(StrTst)) & vbNewLine & CleanSheetName(CStr(StrTst))
Next
End Sub
有効な名前の機能
Function ValidSheetName(strIn As String) As Boolean
Dim objRegex As Object
Set objRegex = CreateObject("vbscript.regexp")
objRegex.Pattern = "[\<\>\*\\\/\?|]"
ValidSheetName = Not objRegex.test(strIn)
End Function
クリーン機能
Function CleanSheetName(strIn As String) As String
Dim objRegex As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Global = True
.Pattern = "[\<\>\*\\\/\?|]"
CleanSheetName = .Replace(strIn, "_")
End With
End Function
0
clean()を見ましたか?
また、ビットメシエが、私は、あなたは喜んであなたがこれらの文字のほとんどは、シート名の文字、つまり*?[]
など
しかしなどとして、既に無効であることがわかります'substitute'
Substitute(text, old_text, new_text, nth_appearance)
関連する問題
- 1. シートからシートに名前付き範囲のコピーをExcel
- 2. 同じシート名:シートが一致する場合にコピー&ペースト
- 3. CSV Excelシートのタブ名を渡す
- 4. SQL ServerでExcelシート名を取得
- 5. シート名のExcelファイルのFilePathを取得
- 6. XLRDError:シート名が<'Sheet1'>で、Pythonで
- 7. C#シート名のないOleDBへのExcel
- 8. =シート名のセルアドレスを調べる
- 9. 名前がシート1のシート2と一致しない場合は、シート2に名前を追加してください。
- 10. リストからシート名を参照して他のシートからセル値を戻す
- 11. MatlabでExcelシート名の名前を変更
- 12. SSISパッケージのExcelシート名の名前を変更します。
- 13. シート名は列の値に基づいて
- 14. は、Excelシート
- 15. のAppleScriptは、Excelシート
- 16. flexシートのプロパティシートにExcelシートを埋め込む方法は?
- 17. OleDbConnectionで最初のExcelシート名を取得する
- 18. .NET C# - Excelファイルの読み込み - シート名!
- 19. OledbCommandでExcelシート名を指定する代わりの方法
- 20. GetOleSchemaTable()でシート名を取得できません
- 21. SSRSレポートのエクスポートによるExcelのエクスポートとシート名の発行
- 22. リンクExcelセルを同じ名前のシートにリダイレクト
- 23. コピー後のシート名の変更とマスターワークブックの作成
- 24. シート名を変更するときにエラーが発生する
- 25. NSOpenPanelシート
- 26. Excelシートをそのまま(つまりExcelシートの列名で)インポートしたかったのですか?
- 27. コピーコードネームによる用紙と私はそのコード名でシートをコピーし、コピーしたシートは、名前とコード名を表示する名前を変更しようとしている
- 28. エラー::読むシート
- 29. asp.netのExcelシート?
- 30. PrimeFacesシート:フリーズ・カラム
+1バックスラッシュ、 '/'、 '*'、 '?'は、ワークシート名の禁止文字なので、テストする必要はありません。 – JimmyPena
残念ながら実際のシート名と私が言及している名前は異なります - 私の名前はシートのヘッダーに入ります!しかし、brettdjの応答はこの1つで、非常に完璧です、ありがとう! – sgtpepper113