質問編集履歴

4

説明の補足・改善

2019/05/29 04:11

投稿

ishikoro.1234
ishikoro.1234

スコア14

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,18 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
3
  業務上で翻訳作業が多いため、効率化を向上させるためにGoogle Apps Scriptで、指定列のデータを正規表現式で条件と一致した文字列を一括置換えるコードを作りたいです。
4
+
5
+ 今回は関数を二つ、作成して行きたいと思います。
6
+
7
+ ①指定した条件で回数や数値、計算式表現を含む少数の特定のパターンを正規表現で置き換える関数
8
+
9
+ ②予めに作成した用語集を使って、指定範囲(ブック名、シート名、列を指定)にて辞書のA列にある文字を順番に検索を行い、検索した際に対応するB列の文字を置き換える関数
10
+
11
+
12
+
13
+ ①につきまして、翻訳の文章は数値表記、難易度や表記、色付けや改行などの計算式を含む文章が多いです。
14
+
15
+ そのため、それ以外の文章を略せば、難易度のみ異なる文章を一括に翻訳することができ、効率が捗ります。、自動的に任務名、回数、難易度を記憶し一括に別の書き方の文章に置換えたいです。
4
16
 
5
17
 
6
18
 
@@ -10,11 +22,7 @@
10
22
 
11
23
 
12
24
 
13
- 翻訳の文章は回数や難易度を示す文字が多いため、自動的に任務名、回数、難易度を記憶し一括に別の書き方の文章に置換えたいです。
14
-
15
- そのため、正規表現式使用が必要と思いまして、コードを作って見ましたが実行しても何も変化がなかったので、質問させていただきました。
25
+ 正規表現式使用すれば、回数などは\dで検索でき、難易度表記や計算式などは英数字か括弧などで検索できると思い、コードを作成しましたが実行しても何も反応なかったため、質問させていただきました。
16
-
17
- ご教授頂ければ幸いでございます。
18
26
 
19
27
 
20
28
 
@@ -24,7 +32,7 @@
24
32
 
25
33
 
26
34
 
27
- もし可能であれば、用語集を別のスプレットシート作り、A列に変換する文字、B列に置き換える文字を予め用意して、一括置き換えるコードも用意したす。
35
+ ご教授頂ければ幸いござす。
28
36
 
29
37
 
30
38
 

3

コードの更新

2019/05/29 04:11

投稿

ishikoro.1234
ishikoro.1234

スコア14

test CHANGED
File without changes
test CHANGED
@@ -88,44 +88,42 @@
88
88
 
89
89
  ### 用語集のデータを取得するコード
90
90
 
91
- 何故かうまくデータを取得できmsgBoxで帰って来たは空白した
91
+ 用語集のデータを配列として取得できましたがどう利用すればいいかご教授頂ければ幸いす、
92
-
93
- ```
94
-
95
- function getDictionaryValue() {
96
-
97
- const dictionary = SpreadsheetApp.openById('用語集リンク');
98
-
99
- const Arow_lastColumn = dictionary.getActiveSheet().getRange(1,2).getLastColumn();
100
-
101
- const ArowRange = dictionary.getActiveSheet().getRange(1,Arow_lastColumn);
102
-
103
- const Brow_lastColumn = dictionary.getActiveSheet().getRange(2,1).getLastColumn();
104
-
105
- const BrowRange = dictionary.getActiveSheet().getRange(2,Brow_lastColumn);
106
-
107
- const dict_Arow_value = [];
108
-
109
- const dict_Brow_value = [];
110
-
111
- for (var i = 1; i <= Arow_lastColumn.length; i++) {
112
-
113
- var Arow_value =dictionary.getgetActiveSheet().getRange(1,1).getValue();
114
-
115
- dict_Arow_value.push(Arow_value);
116
-
117
- }
118
-
119
- for (var i = 1; i <= Brow_lastColumn.length; i++) {
120
-
121
- dict_Brow_value.push([BrowRange[i].getValues()]);
122
-
123
- }
124
-
125
- Browser.msgBox(dict_Arow_value);
126
-
127
- Browser.msgBox(dict_Brow_value);
128
-
129
- }
130
92
 
131
93
  ```
94
+
95
+ function getValue() {
96
+
97
+ var ss = SpreadsheetApp.openById('用語集リンクID');
98
+
99
+ var sheet = ss.getSheetByName('dict');
100
+
101
+ var CH_column = 1, //対象列の指定
102
+
103
+ lastRow = sheet.getLastRow(), //最終列を取得
104
+
105
+ CH_Range = sheet.getRange(1,CH_column,lastRow,1),  //範囲を取得
106
+
107
+ CH_Values = CH_Range.getValues(),  //データを取得
108
+
109
+ CH_Values = [].concat.apply([],CH_Values);
110
+
111
+ var JP_column = 2,
112
+
113
+ JP_Range = sheet.getRange(1,JP_column,lastRow,1),  //範囲を取得
114
+
115
+ JP_Values = JP_Range.getValues(),  //データを取得
116
+
117
+ JP_Values = [].concat.apply([],JP_Values);
118
+
119
+ Logger.log(CH_Values);
120
+
121
+ Logger.log(JP_Values);
122
+
123
+ return CH_Values;
124
+
125
+ return JP_Values;
126
+
127
+ }
128
+
129
+ ```

2

試したコードを追加、説明の改善

2019/05/28 04:11

投稿

ishikoro.1234
ishikoro.1234

スコア14

test CHANGED
File without changes
test CHANGED
@@ -28,7 +28,9 @@
28
28
 
29
29
 
30
30
 
31
- ### 該当のソースコード
31
+ ### 特定文字列を置換えるソースコード
32
+
33
+ 正規表現式で取得した文字の中に、数字などの取得方法がわからず、せめては固定の文章を一括に置き換えるように書いてみましたが、コードを実行しても何も起こらなかったです。
32
34
 
33
35
  ```Google Apps script
34
36
 
@@ -81,3 +83,49 @@
81
83
  }
82
84
 
83
85
  ```
86
+
87
+
88
+
89
+ ### 用語集のデータを取得するコード
90
+
91
+ 何故かうまくデータを取得できず、msgBoxで帰って来たのは空白でした
92
+
93
+ ```
94
+
95
+ function getDictionaryValue() {
96
+
97
+ const dictionary = SpreadsheetApp.openById('用語集リンク');
98
+
99
+ const Arow_lastColumn = dictionary.getActiveSheet().getRange(1,2).getLastColumn();
100
+
101
+ const ArowRange = dictionary.getActiveSheet().getRange(1,Arow_lastColumn);
102
+
103
+ const Brow_lastColumn = dictionary.getActiveSheet().getRange(2,1).getLastColumn();
104
+
105
+ const BrowRange = dictionary.getActiveSheet().getRange(2,Brow_lastColumn);
106
+
107
+ const dict_Arow_value = [];
108
+
109
+ const dict_Brow_value = [];
110
+
111
+ for (var i = 1; i <= Arow_lastColumn.length; i++) {
112
+
113
+ var Arow_value =dictionary.getgetActiveSheet().getRange(1,1).getValue();
114
+
115
+ dict_Arow_value.push(Arow_value);
116
+
117
+ }
118
+
119
+ for (var i = 1; i <= Brow_lastColumn.length; i++) {
120
+
121
+ dict_Brow_value.push([BrowRange[i].getValues()]);
122
+
123
+ }
124
+
125
+ Browser.msgBox(dict_Arow_value);
126
+
127
+ Browser.msgBox(dict_Brow_value);
128
+
129
+ }
130
+
131
+ ```

1

誤字の修正

2019/05/24 13:44

投稿

ishikoro.1234
ishikoro.1234

スコア14

test CHANGED
File without changes
test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  autochange_value.push(value[i]);
54
54
 
55
- autochange_value = autochange_value.replace(rep,'任務'&lvjp&'を:10回完成する') ;
55
+ autochange_value = autochange_value.replace(value,'任務'&lvjp&'を:10回完成する') ;
56
56
 
57
57
  }
58
58