-1

Word 2013 と 2010 で操作しているので、どちらでも動作するコードを使用できます。レシピを追跡するためにワード文書を作成しようとしています。最も基本的なこととして、見出しに基づいて更新される TOC が必要です。また、必要なカテゴリ (例: 前菜、ドリンク、アントレなど) をアルファベット順に並べたいと考えています。各カテゴリの下にテーブルがあります。各レシピは、名前、指示、メモ、タグ、場合によっては写真を含むテーブルを取得します。2 番目のセルには、レシピに必要な各材料の量と名前を含む別の 2 列のテーブルが含まれています。

これまでのところすべてが揃っているので、新しいカテゴリとレシピの追加を自動化したいと考えています。現在、カテゴリを見つけてから、下にスクロールして名前がアルファベット順に表示されている場所を見つけ、作成した簡単な表を挿入する必要があります。次に、情報を入力します。

各カテゴリ名でドキュメントを検索し、その前後にスペースを入れて新しいカテゴリを挿入できるようにしたいと考えています。すべての間にスペースがないと、テーブルに問題が発生することがわかりました。触れているものをすべてテーブルに引き込み、それらをマージしようとします。

バックストーリーを提供したかったので、最終的にどこに行くのかがわかり、必要なものにより適したヘルプを提供できます. 新しいカテゴリを追加できるようになったら、vba を使用して、各テーブルの最初のセルにある名前のアルファベット順に各テーブルを整理する予定です。また、並べ替えを追加するときにも役立ちます。最終的には、ある人のレシピだけを表示したり、自分のよく使うレシピを表示したりと、並べ替えができるようにしたいです。次に、他のすべてを非表示にするか、これらだけで新しいドキュメントを作成します。助けてくれてありがとう。以下に、最近試したコードを掲載します。この同じコードの他のいくつかのバリエーションを試してみましたが、「予想されるステートメントの終わり」が得られ続けます。他のバリエーションを試したときに他のエラーが発生しましたが、これは私が自分で思いつくことができる最高のものです.

Private Sub UserForm_Initialize()
    For Each cat In ActiveDocument.Styles = "Heading 1"
        lstCat.AddItem (cat)
    Next
End Sub

テストとして使用している frmAddCategory というフォームがあります。スタイル見出し1のすべてのカテゴリを表示するリストボックスlstCatを作成する予定でした。新しいものを入力するtxtAddというテキストボックスと、それをフォームに追加するcmdAddボタンがあります。

編集: アウトライン ビュー モードについて知った後、マクロ レコーダーをいじっています。「見出し1」レベルのみを表示するように設定し、付録や参照を選択せず​​に、必要なものを選択しました。次に、[ホーム] タブに移動し、段落をアルファベットの昇順で並べ替えました。VBAで実行するために使用できると思われるコードをいくつか入手しました。ただし、見出し1で最後の2つを選択したくないため、完全な修正ではありません。各見出し1の下のテーブルを手動で選択しても機能しますが、前後の間隔を設定できません。見栄えと編集の目的で、各見出しとその下の表の間に 1 つか 2 つのスペースを入れたいと思います。

また、誰かが私の質問に否定的な評価を付けようとしている場合は、説明するコメントを投稿してください. フォーラムに関するよくある質問と私が見た他の質問からわかる限り、それはよく考えられた質問です。明確なタイトル、問題の適切な説明、コード例、調査。そのため、私が何か間違ったことをしている場合は、修正できるようにお知らせください。

4

1 に答える 1

0

最初に、マクロ レコーダーとアウトライン モードについて少しありがとうございます。私は長い間、2 つの HeadingLevel(1) 見出しの間の selection.text でリスト ボックスを埋めようと試みてきました。

申し訳ありませんが、言葉で行う方法が思いつきません。しかし、Accessでは本当に簡単です。tblCategories と呼ばれるカテゴリの 1 つのテーブルと、レシピ tblRecipes の別のテーブル。簡単にするために、すべてのテーブルで autoID を使用する場合。ただし、tblRecipes の多くの頭痛の種を避けるために、autoID の名前を他のテーブルと同じ RecipesID に変更します。レシピのテーブルでは、メモ フィールドを使用して大量のデータを保持できます。見出しのテキストのスポットは、tblRecipes の 1 つのフィールドに配置されます。追跡する各アイテムのフィールドがあるように見えるテーブルができたら。保存を押してから、ウィザードを使用してテーブルに基づくフォームを作成します。任意のテーブルに情報を簡単に入力できるようにしたいすべてのテーブルに対して繰り返します。

1.必要なすべての見出しのクエリに基づくreportTOCは、必要に応じてプレビューまたは印刷できます。reportByCategory などのレポートは、所有者で並べ替えたい場合を除き、a から z に並べ替えられ、レシピはすべて a - z に自動的に並べ替えられます。

ハード コピーを取得するレポート ウィザード。組み込みの非常に簡単な並べ替えが必要な場合。また、休日のすべてのレシピを非常に簡単に選択できるようにしたい場合は、1 つのテーブル tblHolidays. 1 つの tblHolidayRecipes フィールド autoId (どこでも使用されていませんが必要です)、fldRecipesId (RecipesId を保持)、fldHolidayId (HolidayId を保持)。ウィザードは、必要なものだけを取得する方法を示します。Access 2013 では、pix of food または.

于 2015-03-31T21:45:23.867 に答える