Я думаю, что мы смотрим на это неправильный путь и делаем неправильные выводы. Если я разбираюсь в этом, цикл идет:
Идея-> первая реализация-> принятие меньшинства-> критическая масса-> товарный продукт
От самой первой идеи до товара, у Вас часто есть века, предполагая, что идея когда-либо добирается до того этапа. Da Vinci, возможно, потянул некоторый вертолет в 1493, но потребовалось приблизительно 400 лет для получения фактической машины, способной к подъему себя от земли.
Из первого описания William Bourne подводной лодки в 1580 к первой реализации в 1800, у Вас есть 220 лет, и текущие подводные лодки все еще на этапе младенчества: мы почти не знаем ничего из подводного перемещения (с 2/3rdof планета под морем, думайте о потенциальной недвижимости;).
И нет никакого сообщения, что не было более ранних, намного более ранних идей, что мы просто никогда не слышали о. На основе некоторых легенд похоже, что Alexander the Great использовал некоторый водолазный колокол в 332 до н.э (который является основной идеей о подводной лодке: устройство для переноса людей и подачи воздуха ниже моря). Считая это, мы смотрим на 2 000 лет от идеи (даже с основным прототипом) к продукту.
то, Что я говорю, является этим ищущим сегодня реализации, уже не говоря о продуктах, которые даже не были идеями, до 1980... Я betcha алгоритм "быстрой сортировки" не использовался некоторым никаким регистратором имени в древнем Китае.И что же?
были подключенные к сети компьютеры 40 лет назад, уверены, но это не соответствовало сегодняшнему Интернету. Основная идея / технология была там, но независимо Вы не могли играть в игру Warcraft онлайн.
я утверждаю, что нам нужны действительно новые идеи в большинстве областей вычислений, и я хотел бы знать о любых важных и мощных, которые были недавно сделаны. Если мы не можем действительно найти их, то мы должны спросить "Почему?" и, "Что мы должны делать?"
Исторически, мы никогда не были в состоянии "найти их", которые закрываются от идеи, настолько быстро. Я думаю, что цикл становится быстрее, но вычисляет, все еще проклятая молодежь.
В настоящее время, я пытаюсь выяснить, как сделать голограмму (вид Звездных войн без любой физической поддержки). Я думаю, что знаю, как заставить его работать. Я даже не собрал инструменты, материалы, финансировав и все же даже если бы я должен был успешно выполниться до какого-либо градуса, то фактическая идея уже была бы несколькими старыми десятилетиями, по крайней мере и связанные реализации/технологии использовались для столь же долго.
, Как только Вы начинаете перечислять фактические продукты, можно быть вполне уверены, что понятия и первые реализации существовали только что. Не имеет значения.
Вы могли спорить с некоторой причиной, что ничто не является новым, никогда, или что все является новым, всегда. Это - философия, и могут быть защищены обе точки зрения.
С практической точки зрения, истина находится где-нибудь промежуточная. Истина не является двоичным понятием, булева логика быть проклятой.
китайцы, возможно, придумали печатный станок некоторое время назад, но это только были приблизительно 10 лет, что большинство людей может распечатать достойные цветные фотографии дома за разумную цену.
Изобретение нигде не и везде, в зависимости от Ваших критериев и системы отсчета.
Используйте путь UNC, а не HTTP. Этот код работает:
Public Sub ListFiles()
Dim folder As folder
Dim f As File
Dim fs As New FileSystemObject
Dim RowCtr As Integer
RowCtr = 1
Set folder = fs.GetFolder("\\SharePointServer\Path\MorePath\DocumentLibrary\Folder")
For Each f In folder.Files
Cells(RowCtr, 1).Value = f.Name
RowCtr = RowCtr + 1
Next f
End Sub
Чтобы использовать UNC-путь, перейдите в папку в библиотеке документов, в раскрывающемся меню «Действия» выберите «Открыть в проводнике Windows». Скопируйте путь, который вы видите там, и используйте его.
Попробуйте сопоставить библиотеку sharepoint с буквой диска в Windows. Затем выберите диск и путь в коде.
Единственный способ, который я нашел для работы с файлами в SharePoint, имея права сервера, - это сопоставить папку WebDAV с буквой диска. Вот пример реализации.
Добавьте ссылки на следующие библиотеки ActiveX в VBA:
wshom.ocx
) - для WshNetwork scrrun.dll
]) - для FileSystemObject Создайте новый модуль класса, назовите его DriveMapper
и добавьте следующий код:
Option Explicit
Private oMappedDrive As Scripting.Drive
Private oFSO As New Scripting.FileSystemObject
Private oNetwork As New WshNetwork
Private Sub Class_Terminate()
UnmapDrive
End Sub
Public Function MapDrive(NetworkPath As String) As Scripting.Folder
Dim DriveLetter As String, i As Integer
UnmapDrive
For i = Asc("Z") To Asc("A") Step -1
DriveLetter = Chr(i)
If Not oFSO.DriveExists(DriveLetter) Then
oNetwork.MapNetworkDrive DriveLetter & ":", NetworkPath
Set oMappedDrive = oFSO.GetDrive(DriveLetter)
Set MapDrive = oMappedDrive.RootFolder
Exit For
End If
Next i
End Function
Private Sub UnmapDrive()
If Not oMappedDrive Is Nothing Then
If oMappedDrive.IsReady Then
oNetwork.RemoveNetworkDrive oMappedDrive.DriveLetter & ":"
End If
Set oMappedDrive = Nothing
End If
End Sub
Затем вы можете реализовать его в своем коде:
Sub test()
Dim dm As New DriveMapper
Dim sharepointFolder As Scripting.Folder
Set sharepointFolder = dm.MapDrive("http://your/sharepoint/path")
Debug.Print sharepointFolder.Path
End Sub
ИМХО, самый крутой способ - использовать WebDAV (без сетевой папки, так как это часто недопустимо). Это может быть выполнено с помощью объектов данных ActiveX, как описано в этой отличной статье отличной статье (код можно использовать непосредственно в Excel, недавно использовалась концепция).
Надеюсь, это поможет!
http: //blog.itwarlocks.com/2009/04/28/accessing-webdav-in-microsoft-word-visual-basic/
исходная ссылка мертва, но, по крайней мере, текстовое содержимое все еще доступно на archive.org : http://web.archive.org/web/20091008034423/http://blog.itwarlocks.com/2009/04/28/accessing-webdav-in-microsoft-word-visual-basic