Добавьте это в свой цикл For Each
Dim j as integer ‘Add to top of your sub
j = 0 ‘Add inside for loop
For Each tempWorkSheet In sourceWorkbook.Worksheets
j= j+1
tempWorkSheet.Copy after:=mainWorkbook.Sheets(mainWorkbook.Worksheets.Count)
ActiveSheet.Name = sourceWorkBook.Name & “ - “ & j ‘Added Line of code to rename copied tab
Next tempWorkSheet
Пока названия ваших книг не слишком длинные и не повторяются, это должно быть хорошо
Если вы не уверены, вы можете использовать запрос cols на терминале и забыть COLUMNS:
COLS=$(tput cols)
Вы делаете это правильно, поэтому я предполагаю, что в чем-то еще виновата (не в экспорте КОЛОННЫ?).
Уловка для отладки этих случаев состоит в том, чтобы создать специальную команду ( закрытие для ребят, занимающихся языком программирования). Создайте сценарий оболочки с именем diff-columns, выполняя:
exec /usr/bin/diff -x -y -w -p -W "$COLUMNS" "$@"
и просто используйте
svn diff "$@" --diff-cmd diff-columns
. Таким образом, ваш код будет более чистым для чтения и более модульным (подход сверху вниз), и вы можете протестировать код diff-columns полностью отдельно (внизу план вверх).
Следующий сценарий работает для меня для нескольких значений $ COLUMNS
. Интересно, не устанавливали ли вы COLUMNS
до этого вызова?
#!/bin/bash
COLUMNS=30
svn diff $@ --diff-cmd /usr/bin/diff -x "-y -w -p -W $COLUMNS"
Можете ли вы повторить $ COLUMNS
внутри своего скрипта, чтобы увидеть, правильно ли он установлен?
Note that COLUMNS
is:
SIGWINCH
signal.That second point usually means that your COLUMNS
variable will only be set in your interactive shell, not in a bash script.
If your script's stdin
is connected to your terminal you can manually look up the width of your terminal by asking your terminal:
tput cols
And to use this in your SVN command:
svn diff "$@" --diff-cmd /usr/bin/diff -x "-y -w -p -W $(tput cols)"
(Note: you should quote "$@"
and stay away from eval
;-))