
No.9ベストアンサー
- 回答日時:
アルファベットへの変換ですが、
#1の方法とは別に、
フィールド「ひらがな」(グローバル・テキスト)
(内容)あいうえおかきくけこ・・・(連続して)
フィールド「alphabet」(グローバル・テキスト)
(内容)a i u e o ka ki ku ke ko ...(スペースで区切って)
として、
フィールド設定[ アルファベット, "" ]
フィールド設定[ ワーク, TrimAll(ふりがな, 1, 0) ]
フィールド設定[ 長さ, Length(ワーク) ]
フィールド設定[ 文字位置, 1 ]
Loop
Exit Loop If [ Length(ワーク) < 文字位置]
フィールド設定[ アルファベット, アルファベット& MiddleWords(alphabet, Position(ひらがな,
Middle(ワーク, 文字位置, 1), 1, 1), 1) ]
フィールド設定[ 文字位置, 文字位置+ 1 ]
End Loop
という手もあります。
ただし、拗音などがうまく変換できません。
でも、パスワード生成には厳密に変換できなくてもOKではないでしょうか。
いずれにしてもあまりご希望どおりにはいかないかもしれません。
No.10
- 回答日時:
より詳しい方々に質問されるのであれば、「ファイルメーカーユーザのページ」のメーリングリストに参加されることをおすすめします。
参考URL:http://www.ogawa.tokushima.tokushima.jp/~fmjuser/
No.8
- 回答日時:
私の知る範囲では無理です。
修飾キー(shiftなど)は取れるようですが、ローマ字キーは取れないと思います。
もしかしたらプラグインや外部関数などがあるのかもしれません。
ファイルメーカーの長所は単純であることだと思っています。私も使い始めは「なんでこんなこともできないの?」と思うことがたびたびありました。でも、深みにはまりにくい(私はAccessで深みにはまってなかなか抜けられなくなりました。お恥ずかしい...。)のがよいところです。マニアックになりにくい分、いざというときに初心者にも引き継げますし。
俳句のように17文字の制約のなかで、四苦八苦するものと割り切って使用しています。
No.6
- 回答日時:
#5よりもっと単純に
フィールド設定[アルファベット,*1]
*1の内容
Middle(アルファベット,Int(Random * Length(アルファベット) + 1),1) &
Middle(アルファベット,Int(Random * Length(アルファベット) + 1),1) &
Middle(アルファベット,Int(Random * Length(アルファベット) + 1),1) &
Middle(アルファベット,Int(Random * Length(アルファベット) + 1),1) &
Middle(アルファベット,Int(Random * Length(アルファベット) + 1),1) &
Middle(アルファベット,Int(Random * Length(アルファベット) + 1),1) &
Middle(アルファベット,Int(Random * Length(アルファベット) + 1),1)
でも可能です。
No.5
- 回答日時:
#4の補足です。
7桁にする部分を見落としていました。
無理にすべての文字をランダムに並べかえなくても、単純にランダムに選択していけばよいだけかもしれません。
フィールド定義の「ワーク」は使用せず、「残りの長さ」を単に「長さ」として、
スクリプトは、
フィールド設定[「パスワード」,「""」]
フィールド設定[「長さ」,「1」]
Loop
Exit Loop if[「長さ > 7」]
フィールド設定[「文字位置」,「Int(Random * Length(アルファベット) + 1)」]
フィールド設定[「パスワード」,「パスワード & Middle(アルファベット,文字位置,1)」]
フィールド設定[「長さ」,「長さ + 1」]
End Loop
No.4
- 回答日時:
パスワードを作る部分については、
フィールド定義が以下の通りで、ふりがなからアルファベットに変換済みとすると、
「ふりがな」 (テキスト)
「アルファベット」(テキスト)
「パスワード」 (テキスト)
「ワーク」 (テキスト)
「残りの長さ」 (数字またはグローバル)
「文字位置」 (数字またはグローバル)
スクリプトは、
フィールド設定[「パスワード」,「""」]
フィールド設定[「ワーク」,「アルファベット」]
フィールド設定[「残りの長さ」,「Length(ワーク)」]
Loop
Exit Loop if[「残りの長さ < 1」]
フィールド設定[「文字位置」,「Int(Random * 残りの長さ + 1)」]
フィールド設定[「パスワード」,「パスワード & Middle(ワーク,文字位置,1)」]
フィールド設定[「ワーク」,「Left(ワーク, 文字位置 - 1) & Right(ワーク, 残りの長さ - 1)」]
フィールド設定[「残りの長さ」,「Length(ワーク)」]
End Loop
というのではどうでしょうか?
まず「アルファベット」を「ワーク」に移し、「ワーク」からランダム関数で1文字ずつ「アルファベット」に移していくという考えかたです。
空白とかは考慮していません。
TrimAll関数などで調整してください。
No.3
- 回答日時:
ファイルメーカーのファイルをエクセルにインポートできるかどうかわかりませんが、出来るとして、
エクセルVBAでやって見ました。
(1)変換表の作成準備(Sheet1のA,B列)
Sub test03()
For i = 1 To 84
Cells(i, 1) = Chr(-32098 + i)
Next i
End Sub
を実行するとSheet1のA列に全角ひらがな文字がセットできます。
B列に対応したローマ字を自分で入力します。例えば「か」の行にはkaと入れる。数分で入力できました。
(2)Sheet3のA列からひらがな名が入っているとして
下記を実行すると、B列に対応したローマ字が出ます。
Sub test04()
Worksheets("sheet3").Activate
d = Range("a1").CurrentRegion.Rows.Count
For i = 1 To d
s = ""
c = Worksheets("sheet3").Cells(i, 1)
' MsgBox c
For j = 1 To Len(c)
m = Mid(c, j, 1)
If m = " " Then
s = s & " "
Else
r = Asc(m) + 32098
s = s & Worksheets("sheet1").Cells(r, 2)
End If
Next j
Worksheets("sheet3").Cells(i, 2) = s
Next i
End Sub
テストが充分でなく、特殊な場合にバグがあるかも知れませんが、出来そうだと言うことでご参考までに。
はっ音、拗音の字は、名前にあまり無いだろうと、考慮外です。締めきりを気にしつつ、取り急ぎ。
お持ち合わせの知識で善意あふれるご解答をいただき感謝いたします。VBAの経験もないのですが、後学のため大切にさせていただきます。
No.1
- 回答日時:
確かアルファベットに変換する関数はなかったように記憶しております。
方法としては、
「ふりがな」フィールドから「アルファベット」フィールドにスクリプトで変換することが考えられます。
フィールド設定[「アルファベット」,「ふりがな」]
フィールド設定[「アルファベット」,「Substitute(アルファベット,"あ","a")」]
フィールド設定[「アルファベット」,「Substitute(アルファベット,"い","i")」]
フィールド設定[「アルファベット」,「Substitute(アルファベット,"う","u")」]
フィールド設定[「アルファベット」,「Substitute(アルファベット,"え","e")」]
フィールド設定[「アルファベット」,「Substitute(アルファベット,"お","o")」]
:
フィールド設定[「アルファベット」,「Substitute(アルファベット,"ん","n")」]
というのはどうでしょうか?
この場合、濁音や半濁音を先に置換する必要があります。
ただし、あまりスマートな方法ではないのでお勧めはできません。
日本語のよみをローマ字に変換するような関数、ありそうでないのに納得がいかなかったのです。スマートかそうでないかは私にはわかりませんが、確実な方法です。キー入力のとおりを値にする関数(?)とかないものかと探していましたが、これで事足ります。既存の関数をなんとか応用したり組み合わせたりするのが、この種の作業の最も難しいところですね。本当にありがとうございました。・・・後は、指定の桁数内で文字をシャッフルしてパスワードにすることですが・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- 英語 会社でのチーム名を考えています 現場部門ですが、事務的な作業もするチームです 例えば業務改善や帳票類 7 2022/09/07 13:50
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) エクセル VBA セルの結合 2 2022/09/07 11:48
- アジア ベトジェットエアの登録について 1 2023/07/03 14:43
- 結婚・離婚 既婚者女性にお聞きします。 40代女性の既婚者の方が、 LINEの名前を1ヵ月のうちに2回変更してい 3 2023/01/19 13:06
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- その他(プログラミング・Web制作) 2つのテキストファイルを比べて文字列を特定する方法を教えて下さい 5 2022/05/01 15:22
- Excel(エクセル) エクセルの表示形式について教えてください あるセルの「A」という値と、別のセルの「B」という値を組み 4 2023/02/21 21:55
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでグループ化した結果フ...
-
Access2000 2番目に大きい数値...
-
アクセスで前年対比を出す方法...
-
Accessのクエリで、Left関数を...
-
別のテーブルのフィールドを抽...
-
Accessの入力について
-
ファイルメーカーで名前のよみ...
-
ファイルメーカーで住所内の市...
-
NULL値を含む場合のフィルタ
-
ACCESS97でエラーメッ...
-
フォトショップのカラーフィー...
-
Accessのリレーションシップ等
-
[Access]クエリの抽出条件について
-
ACCESSのフィールドに記述する...
-
FileMakerでアットマーク入り文...
-
ACCESS クエリで重複データを最...
-
テーブルに主キーを作らないデ...
-
ACCESS クエリで、グループ化...
-
アクセスでテーブルの変更内容...
-
accessで、「集計のオプション...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessのクエリで、Left関数を...
-
別のテーブルのフィールドを抽...
-
Accessでグループ化した結果フ...
-
アクセスで前年対比を出す方法...
-
Access2000 2番目に大きい数値...
-
Accessでフォームへのフィール...
-
access で「指定したフィール...
-
【access】テキストから日付へ...
-
NULL値を含む場合のフィルタ
-
宛名作成(Word)の郵便番号が...
-
ファイルメーカーで住所内の市...
-
LotusNotesで全角の空白を半角...
-
[Microsoft Access]クエリ作成...
-
Access・エラー
-
Access2003でフィールドのデー...
-
ブリーフケースとAccess
-
[Access]クエリの抽出条件について
-
ファイルメーカーのフィールド...
-
ファイルメーカーで名前のよみ...
-
ACCESSのフィールドに記述する...
おすすめ情報