И вот мое решение, должен работать с Excel> 2000, но протестированный только на 2007:
Private Sub SaveAllSheetsAsCSV()
On Error GoTo Heaven
' each sheet reference
Dim Sheet As Worksheet
' path to output to
Dim OutputPath As String
' name of each csv
Dim OutputFile As String
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
' ask the user where to save
OutputPath = InputBox("Enter a directory to save to", "Save to directory", Path)
If OutputPath <> "" Then
' save for each sheet
For Each Sheet In Sheets
OutputFile = OutputPath & "\" & Sheet.Name & ".csv"
' make a copy to create a new book with this sheet
' otherwise you will always only get the first sheet
Sheet.Copy
' this copy will now become active
ActiveWorkbook.SaveAs FileName:=OutputFile, FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close
Next
End If
Finally:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
Exit Sub
Heaven:
MsgBox "Couldn't save all sheets to CSV." & vbCrLf & _
"Source: " & Err.Source & " " & vbCrLf & _
"Number: " & Err.Number & " " & vbCrLf & _
"Description: " & Err.Description & " " & vbCrLf
GoTo Finally
End Sub
(OT: Интересно раз так заменит часть моего незначительного блоггинга)
Не забывайте, что вы можете использовать его вместе с Java. то есть вы можете использовать скомпилированные .classes и .jars в среде со сценарием Scala.
Таким образом, вы можете захотеть закодировать нижние уровни вашего решения на Java, а затем обернуть их в Scala, чтобы обеспечить более гибкую и гибкую решение (с точки зрения переписывания бизнес-логики на более высоком уровне).
Следует подумать, кто еще будет следить за этим и поддерживать его. Несмотря на всю шумиху вокруг Scala, относительно немногие люди могут программировать на нем (по состоянию на ноябрь 2009 г.), и вам, возможно, придется нанять людей в будущем, чтобы они заботились о нем. Поиск людей, занимающихся Scala, будет означать, что вы ищете гораздо меньший круг кандидатов (некоторые могут захотеть изучить Scala на работе, но все равно придется заплатить стартовые затраты)
Не забывайте, что это относительно небольшая часть Twitter, особенно очереди сообщений, которые написаны на Scala. Насколько я понимаю, интерфейс по-прежнему является Ruby-on-Rails.
Тем не менее, я перешел на scala менее года назад: я не оглядывался назад. Более того:
Вот плюсы и минусы Scala по сравнению с Java. IMHO:
Плюсы:
В итоге: вы получаете гораздо больше функциональности с гораздо меньшим количеством кода, чем Java
Минусы:
Я думаю, что Scala будет готов к массовому производственному использованию через 6-8 месяцев, но я бы не стал ставить на это свой проект сегодня.
Особая проблема Scala заключается в том, что как масштабируемый язык он имеет уровни функций различной степени доступности для среднего разработчика. Использование его в качестве языка сценариев для JVM - это одно, а разработка предметно-ориентированного языка с использованием функционального программирования - другое.
Одним из преимуществ Scala является то, что вы можете создавать его вместе с Java в одном проекте. Как Maven (см. Комментарий luigi-prog), так и простой инструмент сборки имеют довольно простые хуки, которые построят все за один раз.
Другой способ - взять существующие модульные тесты, переключить реализацию и увидеть разницу.
Даниэль Спивак сделал несколько замечательных записей о подводных камнях взаимодействия Java-Scala .
Я использовал Scala на рабочем месте в течение последнего года, и я бы сказал, что это примерно 3-месячная кривая обучения, чтобы стать достаточно профессиональным. Это с довольно небольшой группой типичных Java-людей. Пока еще существует большая изменчивость с точки зрения соглашений и стандартов, так что рассчитывайте вносить некоторые изменения в любой проект каждые несколько месяцев.
Я не думаю, что вы пока можете искать «программисты Scala». Но вы можете найти множество Java-программистов, заинтересованных в изучении Scala.
Если бы я мог предположить, Scala и Clojure могли бы стать лидерами в «вытеснении» Java. Я бы не стал Не ожидаю значительного сдвига не раньше 2012 года. Scala, вероятно, движется вперед - сейчас есть несколько книг на нескольких языках.
Если вы планируете использовать Java и Scala в единой проектной среде, я бы предложил использовать Maven в качестве системы зависимостей проекта. Вот код, который я использую для создания своих проектов scala:
mvn archetype:generate -DarchetypeCatalog=http://scala-tools.org/
Вот некоторая информация об использовании для использования maven с Scala. Если вы используете maven в качестве компилятора, вы можете иметь исходные файлы java и Scala в одном пакете без дополнительной настройки. Это просто работает.
Вот доклад , организованный LinkedIn. Это панель с веб-фреймворком Scala, Twitter и Scala (который я использую). Если вы все еще решаете, использовать ли Scala id, предложите его посмотреть.