I started the blog off thinking this won't take very long, but that's actually in the end dependent on the number of items in your list. And how many attachments are with the items.
Here goes! (Start by going to the list you want to move to another subsite.)
- Click Actions|Edit in Datasheet
- Save the sheet to wherever you personally save things with a name that indicates this is what you're looking moving. (You know, in case you get interrupted 500 times a day like I do.) Remember, this extension will be .iqy, not .xls or .xlsx.
- Next, go back to the list and click Actions|Open with Access. Save to a location you'll be able to find again. This Access file will have all the attachments in it.
- Go to the site you want to put the list in. Click Site Actions|Create, under Custom Lists click Import Spreadsheet. Give it a Name. Probably the name you had on the other list is a good idea. Click Browse, then select the file location for the .iqy file you backed up. Click Import.
- On the Import Window, under Range Type, use the drop down to select Table Range. Below that on Select Range, use the drop down to select your table. Click Import. You will return to the import screen in Sharepoint. Click Import again.
- Now that your list has imported, you probably need to go delete a couple of extra columns. In my list, since the original had approval settings, I had Approval Status1 to delete. I also had to recreate a calculated column since those don't back up. That only involved copying the formula from the original list. So again: not hard!
- So now the attachments... Open your Access file back up. The go to your newly copied list. Open this one up in Access as well. You should have the same number of items. But it's unlikely that the original list and the new list are in the same order. So this is where I started pasting OVER the items in the new table by column, not by row. Once you're comfortable that the data is in the right place, you can scroll to (defaults to the far right) column on the original Access and copy the column Attachments. Again, this may take a few minutes. Once this process is done, go to your new Access list, select the Attachments column and paste. Now you're done!