Googleドキュメントでヘッダー番号を取得できますか?


回答:


6

さて、次のようにドキュメントをスクリプト化することで、それを行うのが簡単になります。

var pars = DocumentApp.getActiveDocument().getBody().getParagraphs();
var counterh1 = 0;
for(var i=0; i < pars.length; i++) {
    var par = pars[i];
    var hdg = par.getHeading();
    if (hdg == DocumentApp.ParagraphHeading.HEADING1) {
          counterh1++; 
          var content = par.getText();
          var chunks = content.split('\t');
          if(chunks.length > 1) { 
              par.setText(counterh1+'.\t'+chunks[1]); 
          } else {
              par.setText(counterh1+'.\t'+chunks[0]); 
          }
    }
}

1
確かに、Googleスクリプトは非常に強力です。
マーティンデリーレ

13

実際には、HTML / CSSを編集しなくても可能です。空のドキュメントを使用した例を示しますが、どのように機能するかを理解したら、既存のドキュメントでそれを実行できます。また、キーボードショートカットをまだ使用していない場合は、使用を開始することをお勧めします(この例では、Macのショートカットを使用していますが、ご使用のOSに合った正しいショートカットを簡単に見つけることができます)。

  1. 新しいドキュメントを作成する
  2. 見出し1を適用(⌘⌥1
  3. 番号付きリストを適用(⌘⇧7
  4. 入力し、「第一」とプレスをReturn
  5. 見出し1⌘⌥1)を適用し、「Second」と入力して押しますReturn
  6. 見出し1⌘⌥1)を適用し、「Third」と入力して押しますReturn

その時点で、次のようなものが必要です。

Googleドキュメントの番号付きヘッダー

  1. 最初のヘッダーの最後にカーソルを置きます
  2. Return2回押す
  3. タイプの"Hello World!"
  4. 残りのヘッダーに対して手順を繰り返します

これで、ドキュメントは次のようになります。

間にいくつかの余分なテキストを含む番号付きヘッダー

お気づきかもしれませんが、自動番号付けはまだあり、必要に応じてヘッダーを追加したり、必要に応じて番号付きのサブヘッダーを追加したりすることで、簡単に試すことができます。詳細は説明しませんが、ここでは、ヘッダーの正しい書式設定を使用して、ネストされた番号付きリストの例を確認できます。

番号付きヘッダーの完全な例


1
これは良さそうに見えますが、完全には機能していないようです。ドキュメントの最後に新しい見出し1を追加するにはどうすればよいですか?私は見出し1を設定し、番号リストを適用する場合は、1から番号開始...
マーティンDelille

3
@tinmaruそれは少しトリッキーです..まだ実行可能です。番号付けを続行する前のヘッダーの最後に移動し、Enterキーを押してから見出しを適用します。その後、それを切り取ります(残された数字は気にしないでください)。ドキュメントの最後に移動して貼り付けます。番号が正しいことがわかるので、空のヘッダーがある場合は削除して、前のエラーを修正します。
リピス

1
いいね!それはトリックです;)
マーティン・デリーレ

答えはそれをマークすることを忘れないでください役に立つ場合@tinmaru;)
Lipis

1
はい、すみません、すっかり忘れてしまいました!ご協力ありがとうございます:)
マーティン・デリーレ

2

これはもうOPには関係ないかもしれないことは知っていますが、今ではアドオンを使用する可能性があります。目次アドオンには、見出しの番号付けスキームを選択できる機能があり、必要な機能を実行します。

1
1.1
2
2.1
2.1.1

何かに役立つことを願っています。

アドオンへのリンク

免責事項:これはChromeでのみ機能する可能性がありますが、少なくとも機能します。

使用方法:右側にウィジェットがあり、その上部で番号付けスキームを選択し、通常の更新ボタンで見出しを更新できます。

したがって、編集が完了したら番号付けスキームを設定し、見出しを更新するだけで、正しいsection/subsection/...番号と更新された番号が得られます。


優れた。私にとって、これは「その」答えです。Firefoxで動作します。
AronVanAmmers 14

2

現在、カスタム番号スタイルを追加するために使用できる見出し番号というアドオンがあります。自動見出し番号を選択/定義、更新、削除できます。

定義済みのスタイル:

  • 1.2.3 –末尾にドットのない数字
  • 1.2.3。–末尾にドットがある数字
  • abc –小文字
  • ABC –大文字
  • i.ii.ii –ローマ字小文字
  • I.II.III –大文字のローマ字
  • 1)a)i)–スタイルの変更とそれに続く括弧

数週間前にこのアドオンをリリースしました。私のホームページまたはアドオンストアで確認してください。


自動見出し番号を追加するにどうすればよいですか?」FAQエントリ 「アドオンがインストールされている場合、「アドオン」->「見出し番号」を選択し、スタイルを選択します。」しかし、それを文書に追加するとき、それは現れませんでした。メニューに「見出し番号」が表示される前に、ドキュメントをリロードする必要がありました。おそらく、Googleのバグであり、見出し番号アプリのバグではありません。
bgoodr


1

お役に立てれば

/*
Credits: 

https://productforums.google.com/forum/#!topic/docs/w4MXeqJaefU
http://webapps.stackexchange.com/questions/23861/header-numbering-in-google-docs

Instructions to use:

In a Google Doc

Go to Tools > Script Editor 
Select the option to create the script for Google Docs.
Replace the Content of Code.gs with the code below.
Save it and name the project as say addHeaderNumbering.
Click play icon for the function addHeaderNumbering (authorize it when asked).

*/

function addHeaderNumbering () {
  var pars = DocumentApp.getActiveDocument().getBody().getParagraphs();
  var counterHeader = [0, 0, 0, 0, 0, 0];

  for(var i=0; i<pars.length; i++) {
    var par = pars[i];
    var hdg = par.getHeading();
    if (hdg == DocumentApp.ParagraphHeading.HEADING1) {

      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING1, par, 0, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING2) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING2, par, 1, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING3) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING3, par, 2, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING4) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING4, par, 3, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING5) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING5, par, 4, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING6) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING6, par, 5, counterHeader);
    }
  }
}


function _addNumberingForHeaderType(headerType, paragraph, initIndex, counterHeader) {
  counterHeader[initIndex] = counterHeader[initIndex] + 1;
  var currCounter = _getCurrenNumbering(initIndex, counterHeader);
  for(var ii = initIndex + 1; ii < counterHeader.length; ii++) {
    counterHeader[ii] = 0;
  }
  var content = paragraph.getText();
  var chunks = content.split('. ')

  var result = 'ok'
  if(chunks.length > 1) {

    paragraph.setText(currCounter+'. '+chunks[1]); 
  } else { 
    paragraph.setText(currCounter+'. '+chunks[0]);
  }
}


function _getCurrenNumbering(initIndex, counterHeader) {
  var value = '';
  for ( var i = 0; i <= initIndex; i++) {
    if (value) {
      value += '.';
    }
    value += counterHeader[i];
  }

  return value;
}

1

Firefoxを使用して、目次アプリと番号付き見出しアプリを簡単に比較しました。確かに、両方のアプリで状況が改善した場合、この情報は古くなっています:

  1. 目次アプリを使用するためのオンラインヘルプはありません(一度も削除されたことはありません)ヘルプボタンは、試用版http://lumapps-www.appspotでアップセルを試みるページを指します。ヘルプを提供する代わりに、com / en /。見出し番号は、http://www.lorut.no/add-ons/heading-numbers-for-google-docs/faq/で FAQを提供しています
  2. 目次と見出し番号のアプリは、見出しの番号を付け直すという点ではうまく機能しません。最初に目次を使用して見出しを適用し、次に見出し番号を使用して順序を逆にした場合も同様です。
  3. 目次には、見出し番号と同じ数の見出しスタイルはありません。
  4. ただし、目次にサイドバーがあると便利です。目次サイドバーから「現状のまま」を選択し、更新ボタンをクリックして目次を表示およびナビゲートできます。
  5. 見出し番号にはクリア操作があります。目次にはありません。クリア操作は行いません、上記の相互作用の問題修正されが、手動で修正する必要があるため非常に苦痛です。
  6. どちらのアプリも、ドキュメントに挿入された目次を更新しません([挿入/目次]メニューを使用)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.