|
|
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Доброго времени! Интересует вопрос, как этот код оптимизировать под Excel (Office for Mac 2011)? Смысл кода. Кнопка на форме открывает диалоговое окно, в нём выбирается нужный файл, при нажатии "открыть", по предустановленному шаблону создаётся папка, в неё копируется выбранный файл, диалоговое окно закрывается. Этот код нормально работает на Windows (исходно открывает диск С). На маке при нажатии ничего не происходит. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Подскажите, что нужно дописать, чтобы работало как на винде, так и на маке. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 00:10 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Dark VictorПодскажите, что нужно дописать,не дописать, а убрать On Error Resume Next ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 00:20 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Так и чего? В винде он будет выдавать ошибку, если я буду добавлять ещё файлы в эту же папку - нажимать на кнопку (напишет, что объект уже существует). Можно, конечно, прописать, чтобы каждый раз при нажатии на кнопку он проверял наличие соответствующих директорий и при их отсутствии, создавал, но как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 01:35 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Или, имеется ввиду, убрать из функции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 01:38 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Так и того, что надо увидеть ошибку, а не игнорировать ее для начала и говорить "ничего не происходит" Я не спец по маку, возможно, там надо использовать прямой слеш в пути. Что на нем выдает .Path? А проверять наличие папки можно функцией Dir ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 01:39 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Я не программер, если бы всё знал и умел, не рылся бы по форумам в поисках истины. До написанного выше своей головой дошел, изучая книжки и интернет. Будьте немного снисходительны. Вторая проблема - отсутствие мака в настоящий момент. Сам не поклонник и не специалист в яблочных делах. Лады. Доберусь до него, продолжим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 01:49 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Значит, пишет. Ошибка выполнения "438". Объект не поддерживает это свойство или метод. Выделяет строчку Код: vbnet 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 21:21 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Ещё выделяет строку Код: vbnet 1. Пишет: Ошибка выполнения "75". Ошибка доступа к пути или файлу. Поменял слэши с '\' на '/'. По-прежнему эта ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 21:31 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Dark VictorЗначит, пишет. Ошибка выполнения "438". Объект не поддерживает это свойство или метод.значит не поддерживает. Можно попробовать вместо этого GetOpenFileName Dark Victorишет: Ошибка выполнения "75". Ошибка доступа к пути или файлу. Поменял слэши с '\' на '/'. По-прежнему эта ошибка.так чему St-то равно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 21:50 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
St = ActiveWorkbook.Path В начале кода написано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 22:01 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Dark VictorSt = ActiveWorkbook.Path В начале кода написано. - Скажи чабан, а сколько овцы съедают травы в год? - А какие, чёрные овцы или белые овцы? - Ну к примеру белые? - Нууу,- чешет в затылке чабан,- белые 20 кг., - А чёрные? - А чёрные, тоже 20 кг. - А сколько шерсти дают овцы? - А какие, чёрные или белые? - Чёрные к примеру. - Чёрные 20 кг. - А белые? - И белые 20 кг. - Слушай чабан, а чё ты спрашиваешь белые или чёрные!? - Ну, дак белые - то овцы мои! - А чёрные? - А чёрные тоже мои! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 22:44 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Shocker.ProDark VictorSt = ActiveWorkbook.Path В начале кода написано. Спросил, чему равен .Path? Ответа нет. Спросил, чему равен St. Оказывается .Path. Как бы так ответ-то получить ( Собственно, вопрос был так чему St-то равно? Я написал, чему. Какой вопрос, такой ответ. Для ясности, можно было просто спросить, путь до книги. Path в данном случае (на маке) равен "/Users/sdok/Documents/base/base.xlsm" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:05 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Dark VictorPath в данном случае (на маке) равен "/Users/sdok/Documents/base/base.xlsm"ага, именно это я и хотел понять, значит слеши все-таки прямые. Нут так и что получается, вы пытаетесь создать папку "/Users/sdok/Documents/base/base.xlsm/MRI_CT_Rtg/" Думаю, это не получается, как минимум из-за отсутствия папки /Users/sdok/Documents/base/base.xlsm/ .Path на винде не содержит имени файла. Стало быть с этим на маке как-то придется бороться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:12 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Dark VictorСобственно, вопрос был так чему St-то равно? Я написал, чему. Какой вопрос, такой ответ.я не слепой - я вижу это в коде. С тем же успехом можно было бы ответить: "значению типа String". Это тоже было бы правильным ответом, однако это не приближает нас к решению вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:14 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Shocker.ProDark VictorPath в данном случае (на маке) равен "/Users/sdok/Documents/base/base.xlsm"ага, именно это я и хотел понять, значит слеши все-таки прямые. Не совсем правильно указал. base.xlsm это уже сама книга. Путь в директорию, где она лежит "/Users/sdok/Documents/base/" В этой же директории будет создаваться папка "MRI_CT_Rtg". На винде всё без проблем работает и создаёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:18 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro+ Dark VictorСобственно, вопрос был пропущено... Я написал, чему. Какой вопрос, такой ответ. С тем же успехом можно было бы ответить: "значению типа String". Это тоже было бы правильным ответом, однако это не приближает нас к решению вопроса. Как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:19 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Dark VictorДля ясности, можно было просто спросить, путь до книги.Dark VictorНе совсем правильно указал. base.xlsm это уже сама книга. Путь в директорию, где она лежит "/Users/sdok/Documents/base/" В этой же директории будет создаваться папка "MRI_CT_Rtg". На винде всё без проблем работает и создаёт.Ну так потому я и не спрашивал путь к книге, а спрашивал чему равна переменная St и ожидал ответа именно на этот вопрос, потому что важно именно состояние переменной, а не путь к книге. В таком случае, наиболее вероятна проблема с правами - недостаточно прав, чтобы создать эту папку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:27 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Возможно. Мысли были про это. Можно как-то из кода расширить права, или это для всего приложения нужно делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:30 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Dark VictorВозможно. Мысли были про это. Можно как-то из кода расширить права, или это для всего приложения нужно делать?нет, из кода, конечно, нельзя, иначе зачем они вообще существуют. Нужно дать их пользователю, от имени которого выполняется эксель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:38 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Переписал кнопку через GetOpenFilename Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Снова на винде работает, на маке выдвёт новую ошибку: Ошибка выполнения "1004". Ошибка метода "GetOpenFilename" объекта "_Application". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:46 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Капризная, видать, эта штука - офис для мака, особенно в части совместимости с неродной файловой системой. Надо курить хелпы по этим командам, именно хелп маковского офиса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:55 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Кстати, боюсь "Scripting.FileSystemObject" там тоже неоткуда взяться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2012, 23:57 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Мне ещё придётся как-то совмещать, чтобы оно работало на винде и маке. Уже были мысли предложить владельцу поставить винду второй системой. Ещё день-другой помучаюсь, наверно так и сделаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2012, 00:06 |
|
||
|
Excel (Office for Mac)
|
|||
|---|---|---|---|
|
#18+
Всем спасибо! Разобрался самостоятельно. Переписал кнопку. Теперь работает как на винде, так и на маке. Может кому пригодится. кнопка Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. По поводу создания папок в винде с SHCreateDirectoryEx заморачиваться не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2012, 22:57 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2175931]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
278ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 629ms |

| 0 / 0 |
